Làm cách nào tôi có thể tăng tốc Terminal.app hoặc iTerm trên Mac OSX?


41

Mỗi lần tôi khởi chạy iTerm hoặc Terminal sau khi không sử dụng nó trong vài giờ, phải mất từ ​​10-20 giây để trả về lời nhắc. Màn hình trống và mặc dù tôi có thể gõ tôi thực sự không thể chạy bất kỳ lệnh nào.

Nếu tôi thoát khỏi một trong hai ứng dụng, các lần khởi chạy tiếp theo (nếu được thực hiện tương đối sớm sau đó) thì khá nhanh. Sự chậm chạp dường như chỉ xảy ra nếu ứng dụng không chạy trong vài giờ.

Tôi đang chạy OSX 10.5.7 trên MacBookPro. Tôi có cùng một thiết lập trên một máy tính khác, không bị chậm.

Bất kỳ ý tưởng làm thế nào để tăng tốc mọi thứ một lần nữa?


Tôi thích cách câu hỏi này được hỏi và trả lời bởi hai người dùng ẩn danh với các số ngẫu nhiên. Tôi không thấy mô hình này thường xuyên! :)
cregox

Câu trả lời:


39

Hãy thử xóa các tệp nhật ký hệ thống của Apple trong /var/log/asl/:

sudo rm /var/log/asl/*.asl

Điều này đã lừa tôi.


3
(ASL = Nhật ký hệ thống của Apple)
Arjan

+1. Làm việc như một cơ duyên mặc dù là một trong những câu trả lời khác gợi ý tôi có một .bashrc không tầm thường.
alesplin

7
Như đã chỉ ra trên OsXD Daily , tôi khuyên bạn nên sử dụng sudo rm -rf /private/var/log/asl/*.aslthay vì vì nó an toàn hơn vì nó 1) chỉ xóa các tệp nhật ký và 2) tránh việc đưa vào thư mục sai và xóa tất cả các tệp.
Matthew Rankin

1
Bất cứ ai cũng có ý tưởng tại sao kích thước của bản ghi hệ thống có hiệu lực như thế nào thiết bị đầu cuối mở?
James McMahon

3
@JamesMcMahon loginQuá trình dường như đọc tất cả các tệp và thư mục ở cấp cao nhất /var/log/asl. Hãy thử chạy sudo opensnoop | grep /var/log/asl.
Lri

30

Một mẹo khác có thể hữu ích:

Thay đổi shell start từ mặc định /usr/bin/loginthành /bin/bash -l, hoặc /usr/bin/zshnếu bạn sử dụng zsh.

Điều đó có thể làm cho Terminal / iTerm2 của bạn khởi chạy ở tốc độ nhẹ!

  • Đối với Terminal: Tùy chọn → Khởi động: Thay đổi từ "Vỏ đăng nhập mặc định" thành "Lệnh: /bin/bash -l"

  • Đối với iTerm2: Tùy chọn → Cấu hình → Chung → Lệnh: Thay đổi từ "Shell đăng nhập" thành "Lệnh: /bin/bash -l"


2
Điều này tăng tốc tải tab mới đáng kể.
Sindre Sorhus

1
Không thể nói bao nhiêu điều này đã giúp tôi. Đã giải quyết ~ 6 tháng hiệu suất thiết bị đầu cuối chậm trong 1 giây.
Sam Stern

/ bin / bash -l hoạt động với tôi!
Phill Pafford

Đối với những người thích sử dụng bash MacPorts:/opt/local/bin/bash -l
Ioannis Filippidis

rõ ràng việc sử dụng /bin/bash -lkhông đủ cho yosemite (nữa?), đối với các phần tử khác, xem apple.stackexchange.com/questions/41743/ Kẻ
rogerdpack 19/215

9

Tôi có cần một danh tiếng nhất định để bình luận về bài viết? Dù sao, việc xóa nhật ký hệ thống cũng đã làm điều đó cho tôi, cảm ơn. Tôi đã cố gắng vá path_helper bằng bản vá ở đây: gist.github.com/123525, như được đề xuất trong một nhận xét về http://mjtsai.com/blog/2009/04/01/slow-opening-terminal-windows/ ( được tham chiếu trước đó trong chủ đề này) nhưng vô ích. Tôi nhận được một lỗi khó hiểu. Tuy nhiên, bản vá đó sẽ tăng tốc khởi chạy terminal.app.

Ngoài ra: Như tôi đã đề cập, việc xóa các bản ghi đã giúp tôi, nhưng vấn đề vẫn tiếp tục xuất hiện khi các bản ghi liên tục phát triển lớn hơn sau khi tôi gỡ bỏ chúng. Tôi thấy rằng "tinh chỉnh" /etc/asl.conf đã cho tôi một giải pháp lâu dài hơn. Việc sửa đổi là chỉ ghi nhật ký các tin nhắn được phân loại là "quan trọng" hoặc quan trọng hơn thế, trái ngược với danh mục "thông báo" ghi nhật ký và mọi thông tin quan trọng hơn thế. Ngoài ra, tôi bỏ qua các tin nhắn từ ftp, mail, local0, local1. Đây là một dán của /etc/asl.conf:

 ##
 # configuration file for syslogd and aslmanager
 ##

# redirect com.apple.message.domain to /var/log/DiagnosticMessages
? [T com.apple.message.domain] store_dir /var/log/DiagnosticMessages exclude_asldb

# authpriv messages are root/admin readable
? [= Facility authpriv] access 0 80

# remoteauth critical, alert, and emergency messages are root/admin readable
? [= Facility remoteauth] [<= Level critical] access 0 80

# broadcast emergency messages
? [= Level emergency] broadcast

# save kernel [PID 0] and launchd [PID 1] messages
? [<= PID 1] store

# save everything from emergency to notice
#? [<= Level notice] store
? [<= Level critical] store

# save lpr info level and above
#? [<= Level info] [= Facility lpr] store

# save all mail, ftp, local0, and local1 messages
#? [= Facility mail] store
#? [= Facility ftp] store
#? [= Facility local0] store
#? [= Facility local1] store

1
Chào mừng bạn tại SU. Có, 50 danh tiếng là cần thiết, nhưng còn nhiều điều cần biết, vì vậy hãy truy cập superuser.com/faq ngay lập tức! ;-)
Arjan

7

Từ một bài báo tôi đã đọc vài tuần trước: Windows mở chậm

/usr/libexec/path_helperrất chậm khi tải /etc/pathsNếu bạn xóa tất cả các mục trong /etc/pathsvà đảm bảo rằng các mục đó có sẵn trong .bash_profilephần này sẽ giải quyết vấn đề. Nó đã làm cho tôi anyway.


Tình cờ có ai đó viết lại path_helper và nó có sẵn tại: github.com/mgprot/path_helper
Chealion

Có còn như vậy không? path_helperkhông có vẻ chậm chạp
Franklin Yu

1

Nếu ứng dụng đầu cuối đã được tải nhưng bạn chưa có lời nhắc thì đó là lúc vỏ của bạn mất một lúc để khởi tạo.

Điều này có thể có nghĩa là bạn có quá nhiều hoặc một cái gì đó tốn thời gian trong .bashrc( giả sử bạn sử dụngbash ).


Đây có thể là vấn đề tôi gặp phải, bạn có biết làm thế nào tôi có thể kiểm tra Nếu tôi đang sử dụng bash nơi tôi có thể truy cập tệp .bashrc không?
alvincrespo

0

Tôi đoán là theo thời gian, một cái gì đó đang sử dụng rất nhiều bộ nhớ. Khi bạn khởi động một thiết bị đầu cuối sau khi không sử dụng một thời gian, một số bộ nhớ phải được cung cấp bằng cách hoán đổi nội dung của nó ra đĩa. Nếu bạn tắt tiến trình đầu cuối và khởi động lại nó tương đối nhanh, bộ nhớ vẫn khả dụng và nó khởi động nhanh. Điều này cũng sẽ xảy ra với các ứng dụng khác.

Bạn nên theo dõi việc sử dụng bộ nhớ của mình với Activity Monitor và xem liệu bạn có thể biết nó đang đi đâu không.


Ông nói rằng cửa sổ Terminal đã mở có nghĩa là quá trình đã được tải.
Mike McQuaid

1
@Mike, tôi không chắc rằng một khi cửa sổ Terminal được hiển thị, mọi thứ đã được tải chưa? Tuy nhiên, nếu những điều trên là đúng với Terminal, thì bất kỳ chương trình nào cũng sẽ khởi chạy chậm. Tôi không nghĩ Terminal cần nhiều tài nguyên (6.5 / 31.7 thực / ảo trên máy Mac của tôi), vậy @pmaiorana: Terminal cần bao nhiêu bộ nhớ trên máy Mac của bạn?
Arjan


0

Mở /etc/profilevà thêm dòng PATH=""để nó trông như thế này:

if [ -x /usr/libexec/path_helper ]; then
    PATH=""
    eval `/usr/libexec/path_helper -s`
fi
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.