Löschen Sie die Apple-Systemprotokolldateien in /var/log/asl/
:
sudo rm /var/log/asl/*.asl
Das hat den Trick für mich gemacht.
Jedes Mal, wenn ich iTerm oder ein Terminal starte, nachdem ich es einige Stunden nicht verwendet habe, dauert es 10 bis 20 Sekunden, bis eine Aufforderung zurückgegeben wird. Der Bildschirm ist leer und obwohl ich tippen kann, kann ich eigentlich keine Befehle ausführen.
Wenn ich eine der beiden Anwendungen stoppe, sind nachfolgende Starts (wenn sie relativ bald danach ausgeführt werden) recht schnell. Die Langsamkeit scheint nur dann aufzutreten, wenn die App einige Stunden nicht ausgeführt wurde.
Ich verwende OSX 10.5.7 auf einem MacBookPro. Ich habe genau das gleiche Setup auf einem anderen Computer, ohne Abstriche zu machen.
Irgendwelche Ideen, wie man die Dinge wieder beschleunigt?
Löschen Sie die Apple-Systemprotokolldateien in /var/log/asl/
:
sudo rm /var/log/asl/*.asl
Das hat den Trick für mich gemacht.
Ein weiterer Tipp könnte hilfreich sein:
Ändern Sie die Start-Shell von default /usr/bin/login
auf /bin/bash -l
oder, /usr/bin/zsh
wenn Sie zsh verwenden.
Das könnte dazu führen, dass Ihr Terminal / iTerm2 in Lichtgeschwindigkeit startet!
Für Terminal: Einstellungen → Start: Von "Standard-Login-Shell" in "Befehl: /bin/bash -l
" wechseln
Für iTerm2: Einstellungen → Profile → Allgemein → Befehl: Von "Login-Shell" zu "Befehl: /bin/bash -l
" wechseln
Brauche ich einen gewissen Ruf, um Beiträge zu kommentieren? Das Löschen der Systemprotokolle hat es auch für mich getan, danke. Ich habe versucht, path_helper mit dem Patch hier zu patchen: gist.github.com/123525, wie in einem Kommentar zu http://mjtsai.com/blog/2009/04/01/slow-opening-terminal-windows/ vorgeschlagen ( wurde bereits in diesem Thread erwähnt), jedoch ohne Erfolg. Ich bekomme einen kryptischen Fehler. Dieser Patch sollte jedoch den Start von terminal.app beschleunigen.
Zusätzlich: Wie gesagt, das Löschen der Protokolle hat mir den Trick gebracht, aber das Problem taucht immer mehr auf, da die Protokolle immer größer werden, nachdem ich sie entfernt habe. Ich habe festgestellt, dass "Tweaking" /etc/asl.conf mir eine dauerhaftere Lösung gibt. Die Modifikation besteht darin, nur Nachrichten zu protokollieren, die als "kritisch" oder kritischer eingestuft sind, im Gegensatz zur Protokollierungskategorie "Benachrichtigung" und jeder kritischen Kategorie. Ich ignoriere auch Nachrichten von FTP, Mail, local0, local1. Hier ist eine Kopie meiner /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
Aus einem Artikel, den ich vor ein paar Wochen gelesen habe: Slow Opening Terminal Windows
/usr/libexec/path_helper
ist beim Laden furchtbar langsam /etc/paths
Wenn Sie alle Einträge entfernen /etc/paths
und sicherstellen, dass diese Elemente verfügbar sind, .bash_profile
wird das Problem behoben. Es hat mir trotzdem gefallen.
Wenn die Terminalanwendung geladen wurde, Sie jedoch noch keine Eingabeaufforderung haben, dauert es eine Weile, bis die Shell initialisiert wird.
Dies bedeutet wahrscheinlich, dass Sie zu viel oder zu zeitaufwändig sind .bashrc
( vorausgesetzt, Sie verwendenbash
).
Meine Vermutung ist, dass mit der Zeit etwas viel Speicher verbraucht. Wenn Sie ein Terminal starten, nachdem Sie es längere Zeit nicht verwendet haben, muss etwas Speicher verfügbar gemacht werden, indem Sie den Inhalt auf die Festplatte auslagern. Wenn Sie den Terminal-Prozess beenden und relativ schnell neu starten, ist der Speicher noch verfügbar und er wird schnell gestartet. Dies sollte auch bei anderen Anwendungen der Fall sein.
Sie sollten Ihre Speichernutzung mit dem Aktivitätsmonitor überwachen und prüfen, ob Sie feststellen können, wohin er geht.
Eine dauerhaftere Lösung durch Bearbeitung sudo vi /etc/asl.conf
vorgesehen ist hier .
Öffne /etc/profile
und füge die Zeile hinzu, PATH=""
so dass es so aussieht:
if [ -x /usr/libexec/path_helper ]; then PATH="" eval `/usr/libexec/path_helper -s` fi