2009-03-16 11 views
5

Jestem na systemie OSX, a mój system przestaje odpowiadać przez kilka sekund, mniej więcej co 10 minut. (Daje mi wirującą piłkę plażową śmierci). Zastanawiałem się, czy był jakiś sposób, abym mógł wyizolować problem (mam dużo pamięci RAM i nie ma stron/wyrzucania). Wszelkie narzędzia Unix/OSX, które mogą mi pomóc monitorować i izolować przyczynę tego zachowania?Jak izolować przyczyny zawieszenia systemu na systemie Unix/OSX

+0

Podejrzewałem coś podobnego: P – mt3

Odpowiedz

2

Uruchomiłbym mieszankę "top", a także tail -f/var/log/messages (lub gdziekolwiek jest twój główny plik dziennika).

Szanse są tuż przed/po zawieszeniu, pojawi się komunikat o błędzie. Stamtąd możesz zacząć usuwać swoje problemy.

1

Jako pierwsza linia ataku, sugeruję, aby top działał w oknie Terminala, gdzie można go zobaczyć, i obserwował tam miejsca pracy.

+0

tak, góra jest otwarta (podobnie jak monitor aktywności), ale nie widać obciążenia procesora. – mt3

1

Jeśli inne odpowiedzi nigdzie Cię nie zaskoczyły, uruchomiłbym się pod numerem i sprawdzam, czy upłynął czas i godziny, kiedy się blokuje. Blokowanie około co 10 minut bardzo różni się od blokowania dokładnie co 10 minut; ten ostatni sugeruje, że w przypadku zadań zaczynających się od */10 można znaleźć crontab -l.

+0

Tak, to nie jest dokładnie 10 minut, tylko około 10 minut. W każdym razie za sugestię. – mt3

2

Monitor aktywności to wersja GUI topu, a dzięki Leopard można skorzystać z funkcji "Sample Process", aby sprawdzić, jakie czynności wykonywane przez winowajcę spędzają większość czasu. Również w Utilities znajdziesz Console aka tail -f/var/log/messages.

+0

Myślę, że chodziło Ci o Monitor aktywności? – mt3

4

Monitor aktywności (cmd+space, typ, activity monitor), powinien dać Ci intuicyjny przegląd tego, co dzieje się w twoim systemie. Jeśli, jak powiesz, nie ma procesów zatykania procesora, proszę spojrzeć na działanie dysku/IO. Być może twój dysk idzie na południe.

1

Okresowa niewrażliwość często występuje w przypadku zamiany. Czy masz wystarczającą pamięć w swoim systemie? Zbadaj dysk io, aby zobaczyć, czy są piki.

EDIT:

Widziałem podobne zachowanie na moim Macu ostatnio co było spowodowane przez system plików jest uszkodzony tak OS X próbował uzyskać dostęp do nieistniejącej bloki na dysku, a nawet próbuje go naprawić z dyskami Manger powiedział mnie do ponownego sformatowania i ponownego zainstalowania. Aby to zrobić i przywrócić z Time Machine pomógł!

Jeśli to zrobisz, sprawdź ponownie, czy w dysku HFS na dysku twardym włączona jest funkcja przywracania. Pomaga to całkiem uniknąć tego ponownie.

1

Użyj instrumentów Apple. Szczerze mówiąc, pomogło to ogromnie w znalezieniu takich zawieszek.

+1

wszelkie dalsze porady dotyczące używania instrumentów do tego celu? Wyobrażam sobie, że to najpotężniejsze podejście. – mt3

3

Przez lata miałem problemy z zawieszaniem się systemu. Wydaje się, że generalnie są one wynikiem błędów systemu plików, jednak Apple nie robi wystarczająco dużo, aby zająć się tym problemem. Niezawodność systemu powinna koncentrować się na 100% i mam z pewnością dość tych problemów. Zacząłem przenosić wiele plików i wszystkich kopii zapasowych na wolumin ZFS na serwerze FreeBSD, co pomaga mi w lepszym myśleniu i pozwala szybciej odzyskać sprawność. Dodatkowo umieściłem wolumin systemowy na dużym dysku SSD (240 GB, ponieważ mam wiele plików wsparcia i staram się nie nadpisywać rzeczy za pomocą dowiązań symbolicznych) i folderów moich użytkowników na innym dysku. To również przyczyniło się do zwiększenia niezawodności.

Powiedziawszy to, powinieneś spróbować zbadać spindump i stackshot, aby sprawdzić, czy możesz złapać zamrożone procesy, zanim system całkowicie się zawiesi. Jest bardzo prawdopodobne, że masz aplikację lub dwie, które próbują uzyskać dostęp do złych bloków i po prostu zawiesza się system lub masz proces blokujący wszystkie inne z jakiegoś powodu wywołaniem systemowym, które wstrzymuje io.

Apple używany stackshot kilka razy ze mną w ciągu ostatnich kilku lat, aby upolować jakieś paskudne buggers dół i następujący link może rzucić nieco światła na to, jak może lepiej polowanie to goblin dół: http://www.stormacq.com/?p=346

Spróbuj również: top -l2 -S > top_output.txt i exame wyniki dla procesów zawieszeń/zombie.

Im głębiej w to wchodzisz, może Ci się przydać zasubskrybowanie listy deweloperów jądra ([email protected]), ponieważ jest tu kilka bardzo ostrych plików cookie, które mogą rzucić światło na niektóre z najbardziej niejasnych kwestii i pomagają zrozumieć dokładnie, co mówią panice.

Dodatkowo możesz odinstalować wszystkie zainstalowane maszyny wirtualne. Jest pewien programista, który, jak słyszałem z bardzo wiarygodnych źródeł, ma bardzo wadliwe problemy z hipernadzorcą i dobrze byłoby zajrzeć do tego, jeśli masz jakieś zainstalowane. Być może nadszedł czas, aby również oczyścić twoje keksty.

Ale, w sumie, bardzo rozpaczliwie potrzebujemy lepszego systemu plików i mechanizmów proaktywnych, aby móc oglądać złe bloki. Pochwaliłem dzień i krzyczałem z radości, gdy pomyślałem, że oficjalnie otrzymujemy ZFS. Wątpię, że Lion jest o wiele lepszy na froncie HFS + i na pewno rozważam ZFS dla moich Użytkowników na woluminie + innym miejscu na stacji roboczej ze względu na jego zdolność do szorowania złych bloków i eliminowania takich problemów.

Są one bain naszego istnienia na sprzęcie Apple i działa w tej dziedzinie od 20 lat i tysiące klientów, awaria dysku twardego należy uznać za niewybaczalne w tym momencie. Nawet jeśli faktyczni mfgs nie mogą i nie naprawią tego, obowiązek spoczywa na programistach systemów operacyjnych, aby lepiej radzić sobie z wyjątkami i chronić się przed takimi awariami, aby powstrzymać cichą utratę danych i koszmary senne, takie jak te.

Powiązane problemy