Mac OSX'te Terminal.app veya iTerm'i Nasıl Hızlandırabilirim?


41

İTerm veya Terminal'i birkaç saat boyunca kullanmayacağım her seferinde başlattığımda, istemi geri göndermek 10-20 saniyeden bir zaman alabilir. Ekran boş ve yazabildiğim halde aslında herhangi bir komutu çalıştıramıyorum.

Her iki uygulamadan da vazgeçersem sonraki işlemler (nispeten kısa bir süre sonra yapılırsa) oldukça hızlı olur. Yavaşlık, yalnızca uygulama birkaç saat boyunca çalışmıyorsa ortaya çıkıyor gibi görünüyor.

MacBookPro'da OSX 10.5.7 kullanıyorum. Başka hiçbir bilgisayarda aynı yavaşlama olmadan aynı kurulumu yaptım.

İşleri nasıl hızlandıracağını bilen var mı?


Bu soruyu iki isimsiz kullanıcı tarafından rastgele sayılarla sorulup cevaplanmasını seviyorum. Bu modeli bu kadar sık ​​göremiyorum! :)
cregox

Yanıtlar:


39

Apple sistem günlüğü dosyalarını silmeyi deneyin /var/log/asl/:

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

Bu benim için hile yaptı.


3
(ASL = Apple Sistem Günlüğü)
Arjan

+1. Diğer cevaplardan biri önemsiz olmayan bir .bashrc olduğunu öne sürmeme rağmen bir cazibe gibi çalıştı.
alesplin

7
OsXDaily'de belirtildiği gibi , sudo rm -rf /private/var/log/asl/*.aslbunun yerine kullanmanızı tavsiye ederim, çünkü 1) yalnızca günlük dosyalarını siler ve 2) yanlış dizine girmekten ve tüm dosyaları silmekten kaçınır.
Matthew Rankin

1
Sistem kayıt büyüklüğünün neden terminalin açılma hızını etkilediği hakkında bir fikri olan var mı?
James McMahon

3
@JamesMcMahon loginİşlem en üst düzeyindeki tüm dosya ve klasörleri okuyor görünüyor /var/log/asl. Koşmayı dene sudo opensnoop | grep /var/log/asl.
Lri

30

Başka bir ipucu yardımcı olabilir:

Değişim varsayılan çekirdek çalışacak /usr/bin/loginiçin /bin/bash -lya /usr/bin/zshsen zsh kullanmak faydalı olacaktır.

Bu, Terminal / iTerm2'nizi hafif hızda başlatır!

  • Terminal için: Preferences → Startup: "Default login shell" den "Command: /bin/bash -l" ye değiştir

  • İTerm2 için: Tercihler → Profiller → Genel → Komut: "Giriş Kabuğu" ndan "Komut: /bin/bash -l" olarak değiştirin


2
Bu önemli ölçüde yeni sekme yükleme hızlandırdı.
Sindre Sorhus

1
Bunun bana ne kadar yardımcı olduğunu söyleyemem. 1 saniyede ~ 6 ay yavaş terminal performansı çözüldü.
Sam Stern,

/ bin / bash -l benim için çalışıyor!
Phill Pafford

MacPorts /opt/local/bin/bash -l
bash'ı

görünüşe göre kullanmak /bin/bash -l, yosemite için yetmiyor (artık?), diğer yemekler
rogerdpack

9

Yayınlara yorum yazabilmek için belirli bir üne ihtiyacım var mı? Yine de sistem günlüklerini temizlemem de benim için yaptı, teşekkürler. Yorumunda önerildiği gibi, gist.github.com/123525: Burada yama ile yama path_helper çalıştık http://mjtsai.com/blog/2009/04/01/slow-opening-terminal-windows/ ( daha önce bu iş parçacığında başvurulan) ancak boşuna. Kriptik bir hata alıyorum. Ancak, bu yama terminal.app'ın başlatılmasını hızlandırmalıdır.

ek olarak: Daha önce de belirttiğim gibi, günlükleri temizlemek benim için hile yaptı, ancak günlükleri çıkardıktan sonra sürekli büyüdükçe sorun ortaya çıkmaya devam ediyor. "Tweaking" /etc/asl.conf 'un bana daha kalıcı bir çözüm verdiğini öğrendim. Değişiklik, yalnızca "dikkat" kategorisini günlüğe kaydetmekten ziyade, "kritik" veya "kritik" olarak kategorize edilmiş ve bunlardan daha kritik olan mesajları kaydetmektir. Ayrıca, ftp, mail, local0, local1'den gelen mesajları göz ardı ediyorum. İşte /etc/asl.conf 'un bir yapıştırması:

 ##
 # 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
SÜ'ye hoş geldiniz. Evet, 50 itibara ihtiyaç var, ama daha fazlası var, o yüzden hemen superuser.com/faq adresine gidin ! ;-)
Arjan

7

Birkaç hafta önce okudum bir makaleden: Yavaş Açma Terminal Windows

/usr/libexec/path_helperyükleme sırasında son derece yavaştır /etc/pathsTüm girişleri kaldırırsanız /etc/pathsve bu öğelerin içinde bulunduğundan emin olmanız .bash_profilebu sorunu çözecektir. Yine de benim için yaptı.


Tesadüfen birileri path_helper'ı yeniden yazdı ve şu adresten
Chealion

Hala durum böyle mi? path_helperyavaş görünmüyor…
Franklin Yu

1

Terminal uygulaması yüklendiyse ancak henüz bir isteminiz yoksa, başlatmanız biraz zaman alıyor.

Bu muhtemelen sizin .bashrc( kullandığınız varsayılarakbash ) çok fazla veya fazla zaman harcadığınız anlamına gelir .


Bu, yaşadığım sorun olabilir, nasıl kontrol edebileceğimi biliyor musun .bashrc dosyasına erişebileceğim bir bash kullanıyorsam?
alvincrespo

0

Tahminim zamanla bir şeylerin çok fazla bellek kullandığıdır. Bir terminali bir süre kullanmayacaksanız başlattığınızda, içeriğini diske çevirerek bir miktar hafızaya boşaltılması gerekir. Terminal işlemini sonlandırır ve nispeten hızlı bir şekilde yeniden başlatırsanız, bellek hala kullanılabilir durumdadır ve hızlı bir şekilde başlar. Bu, diğer uygulamalarla da yapılmalıdır.

Bellek kullanımınızı Activity Monitor ile izlemeli ve nereye gittiğini söyleyip söyleyemeyeceğinizi görmelisiniz.


Terminal penceresinin açık olduğunu ve işlemin yüklendiğini söyledi.
Mike McQuaid

1
@Mike, Terminal penceresi göründüğünde her şeyin yüklendiğinden emin değilim. Yine de, eğer yukarıdakiler Terminal için geçerliyse, herhangi bir program yavaşça başlayacaktır. Terminal'in çok fazla kaynağa ihtiyacı olduğunu sanmıyorum (Mac'imde 6.5 / 31.7 gerçek / sanal), pmaiorana: Mac'inizde ne kadar bellek gerekiyor?
Arjan


0

/etc/profileSatırı aç ve ekle, PATH=""böylece şöyle görün:

if [ -x /usr/libexec/path_helper ]; then
    PATH=""
    eval `/usr/libexec/path_helper -s`
fi
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.