Za każdym razem, gdy uruchamiam iTerm lub Terminal po nieużywaniu go przez kilka godzin, odebranie monitu zajmuje od 10 do 20 sekund. Ekran jest pusty i chociaż mogę pisać, nie mogę uruchomić żadnych poleceń.
Jeśli wyjdę z dowolnej aplikacji, kolejne uruchomienia (jeśli zostaną wykonane stosunkowo szybko później) są dość szybkie. Powolność pojawia się tylko wtedy, gdy aplikacja nie działała przez kilka godzin.
Używam OSX 10.5.7 na MacBookPro. Mam taką samą konfigurację na innym komputerze, bez spowolnień.
Jakieś pomysły, jak ponownie przyspieszyć?
Odpowiedzi:
Spróbuj usunąć pliki dziennika systemu Apple w
/var/log/asl/
:To załatwiło sprawę.
źródło
sudo rm -rf /private/var/log/asl/*.asl
zamiast tego, ponieważ jest bezpieczniejsze, ponieważ 1) usuwa tylko pliki dziennika i 2) unika dodawania do niewłaściwego katalogu i usuwania wszystkich plików.login
Proces wydaje się czytać wszystkie pliki i foldery na najwyższym poziomie/var/log/asl
. Spróbuj uruchomićsudo opensnoop | grep /var/log/asl
.Pomocna może być kolejna wskazówka:
Zmień powłokę startową z domyślnej
/usr/bin/login
na/bin/bash -l
lub/usr/bin/zsh
jeśli używasz zsh.To może sprawić, że Twój terminal / iTerm2 uruchomi się z niewielką prędkością!
W terminalu: Preferencje → Uruchamianie: Zmień z „Domyślnej powłoki logowania” na „Polecenie:
/bin/bash -l
”Dla iTerm2: Preferencje → Profile → Ogólne → Polecenie: zmiana z „Powłoki logowania” na „Polecenie:
/bin/bash -l
”źródło
/opt/local/bin/bash -l
/bin/bash -l
nie wystarcza dla yosemite (już?), dla innych deatilówCzy potrzebuję pewnej reputacji, aby komentować posty? W każdym razie wyczyszczenie dzienników systemowych zrobiło to również dla mnie, dzięki. Próbowałem załatać path_helper za pomocą łatki tutaj: gist.github.com/123525, jak sugerowano w komentarzu na http://mjtsai.com/blog/2009/04/01/slow-opening-terminal-windows/ ( wspomniane wcześniej w tym wątku), ale bezskutecznie. Dostaję tajemniczy błąd. Ta łatka powinna jednak przyspieszyć uruchomienie terminal.app.
dodatek: Jak wspomniałem, wyczyszczenie dzienników pomogło mi, ale problem nadal się pojawia, gdy dzienniki stale rosną po ich usunięciu. Odkryłem, że „poprawianie” /etc/asl.conf dało mi bardziej trwałe rozwiązanie. Modyfikacja polega na rejestrowaniu tylko wiadomości sklasyfikowanych jako „krytyczne” lub bardziej krytyczne niż te, w przeciwieństwie do rejestrowania kategorii „powiadomienie” i co bardziej krytyczne. Ponadto ignoruję wiadomości z ftp, mail, local0, local1. Oto pasta mojego /etc/asl.conf:
źródło
Z artykułu, który przeczytałem kilka tygodni temu: Powolne otwieranie terminalu Windows
/usr/libexec/path_helper
jest strasznie powolny przy ładowaniu/etc/paths
Jeśli usuniesz wszystkie wpisy/etc/paths
i upewnisz się, że te elementy są dostępne.bash_profile
, rozwiąże to problem. I tak mi się udało.źródło
path_helper
nie wydaje się powolny…Jeśli aplikacja terminala została załadowana, ale nie masz jeszcze monitu, zainicjowanie powłoki zajmuje trochę czasu.
Prawdopodobnie oznacza to, że masz za dużo lub czasochłonność
.bashrc
( zakładając, że używaszbash
).źródło
Domyślam się, że z czasem coś zużywa dużo pamięci. Podczas uruchamiania terminala po dłuższym nieużywaniu go należy udostępnić trochę pamięci, zamieniając jego zawartość na dysk. Jeśli zabijesz proces terminalowy i uruchomisz go stosunkowo szybko, pamięć jest nadal dostępna i szybko się uruchamia. Powinno tak się zdarzyć również w przypadku innych aplikacji.
Powinieneś monitorować zużycie pamięci za pomocą Monitora aktywności i sprawdzać, czy możesz powiedzieć, dokąd zmierza.
źródło
Bardziej trwałe rozwiązanie przez edycję
sudo vi /etc/asl.conf
warunkiem jest tutaj .źródło
Otwórz
/etc/profile
i dodaj linię,PATH=""
aby wyglądała następująco:źródło