iTerm / Terminal OS X bir mermi açarken yavaş


14

OS X 10.8 kullanıyorum ve son zamanlarda iTerm2'nin yeni bir kabuk açarken bazen oldukça yavaş olabileceğini fark ediyorum. Bir şey yapmam yaklaşık 5 saniye sürer. Çok fazla görünmeyebilir, ama kabukta çok çalışıyorum, böylece oldukça can sıkıcı olabilir.

Oh-my-zsh ile ZSH kullanıyorum.

Terminal'i denedim, oh-my-zsh'ı kaldırarak, başlangıç ​​dosyalarından (.zshenv, .zlogin, .zprofile, .zshrc, .zlogout) gereksiz her şeyi temizleyerek ve / var / log / asl'daki ASL dosyalarını temizledim biraz aşağı inmesine rağmen (0.20s gibi), onu oldukça anlık veya 3.0'ların altına indiren hiçbir şey yoktur.

Başka bir fikri olan var mı?


İlgili sorular: 31403 , 41743 , 236953 , 444614
Lri

Yeni mermilerin komutunu benzer bir şeye değiştirmeyi denediniz login -pfq username /usr/local/bin/zshmi?
Lri

@ lauri-ranta: Diğer iş parçacıklarındaki her şeyi denedim, ama boşuna. "Login -pfq username / usr / local / bin / zsh" denemek de hiçbir şey yapmadı.
Dimitri

Kabuk veya iTerm2 ile ilişkili olup olmadığını görmek için: yeni bir kabuk başlatmak ne kadar zaman alır? ( zshzaten açık bir terminal penceresine girerek )?
Matteo

ekle .zshrc:[ $((RANDOM & 1)) -eq 0 ] && do not sleep 5
theoden8

Yanıtlar:


18

Girişi temizle /var/log/asl, yani,

rm -rf /var/log/asl/*.asl

1
Neden bu günlük klasörü tarafından yavaşlatıldığını ve bu sorunun gerçekleşmesini durdurmak için yapılabilecek bir şey var mı?
David

2
@david, yeni sekmelerin neden yavaş olduğunu anlamak için bu bağlantıyı kontrol edebilirsiniz. apple.stackexchange.com/a/71930/89583
Archan Mishra

Vay --- çok teşekkür ederim --- iterm2 için cevabın, -1'e indirilen adamdan o sayfanın altındaki (/ bin / bash -il) öneriyi kullanmak olduğu anlaşılıyor. Harika çalışıyor.
David

12

Yukarıdaki Archan Mishra'dan gelen yorum başına, iTerm 2 için cevap, /bin/bash -il sistem ASL günlüklerini tamamen aramayı atlayan özel bir terminal komutu oluşturmaktır. iterm2 hemen açılıyor.


1

Bunlar, kabuk başlatma hızımı optimize etmek ve komutları yürütürken gecikmeyi azaltmak için kullandığım adımlar -

  1. Eğer powerlevel9k kullanıyorsanız, o zaman hemen geçmek için tavsiye eder powerlevel10k .

Powerlevel10k Zsh için bir tema. Hız, esneklik ve kullanıma hazır deneyimi vurgular. Bu popüler Powerlevel9k zsh temasının bir yeniden uygulamasıdır. Aynı yapılandırma göz önüne alındığında tam olarak aynı görünüyor, ancak istemi 10-100 kat daha hızlı hale getiriyor. Yığının her düzeyinde, orijinalinden 4 kat daha hızlı bir repo tarayabilen yamalı bir libgit2 sürümü kullanmaya kadar optimize edilmiştir. Instant Prompt gibi özelliklere sahip bir temadan kaynaklanmasa bile Zsh başlangıç ​​gecikmesini kaldırabilir.

  1. Tercihler -> Profiller -> Genel -> Komut'a gidin ve Oturum Açma Kabuğu yerine Komut seçeneğini belirleyin ve aşağıdaki komutu yanındaki kutuya yapıştırın.
login -pfq username /usr/local/bin/zsh -il

Şimdi yeni bir sekme başlatırken son oturum açma süresini göremezsiniz. / Usr / local / bin / zsh konumunda zsh yoksa, demlemeyi kullanarak zsh'yi kurmanız gerekir. Mac tarafından sağlanan varsayılan zsh / usr / bin / zsh adresindedir ve iTerm veya oh-my-zsh ile kullanıldığında yavaş hıza neden olabilecek 5.2 gibi daha eski bir sürüm kullanıyor olabilir.

  1. Zsh biçiminde hızlı yapıştırma yapmak için terminalde aşağıdaki komutu yürütün.
mkdir -p $ZSH_CUSTOM/lib && touch $ZSH_CUSTOM/lib/misc.zsh
  1. 2. nokta zaten yavaş oturum açma sürelerine dikkat etmelidir. Ancak sadece güvenlik için aşağıdaki komutu çalıştırın
mkdir -p .hushlogin
  1. Yavaş ve gecikme yaratan tonlarca eklenti kullanabilirsiniz. Bu eklentileri göstermeniz ve kaldırmanız gerekir. Bunun için zsh profiline ihtiyacınız olacak. Daha fazla ayrıntı için bu bağlantıyı izleyin -

https://stevenvanbael.com/profiling-zsh-startup


Süper Kullanıcıya Hoş Geldiniz! Lütfen aynı cevabı birden fazla soruya göndermeyin. Aynı bilgi gerçekten her iki soruya da cevap veriyorsa, bir soru (genellikle daha yeni olan) diğerinin kopyası olarak kapatılmalıdır. Bunu bir kopya olarak kapatmak için oy vererek veya bunun için yeterli bir itibara sahip değilseniz, bir kopya olduğunu belirtmek için bir bayrak kaldırın . Aksi takdirde cevabınızı bu soruya uyarlayın ve aynı cevabı birden fazla yere yapıştırmayın.
DavidPostill
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.