Co powoduje całą aktywność dysku w systemie OS X?

59

Czasami mój Macbook Pro zwalnia, gdy dysk twardy klika bez końca. Obciążenie procesora jest niskie, ale aplikacje i menuitems wolno reagują. Czy jest jakieś narzędzie, które może mi pomóc ustalić, co się dzieje, takie jak liczba bajtów odczytanych / zapisanych lub pliki otwarte / zamknięte na proces, w miarę upływu czasu?

płatny kujon
źródło
1
Spekulujemy tutaj, ale może to być coś prostego, jak mdsaktualizacja indeksu Spotlight.
4
Problem występuje 9 razy na 10. Jedną z rzeczy, które zauważyłem, jest to, że jeśli masz partycję bootcamp, pamiętaj o umieszczeniu jej na czarnej liście reflektorów, w przeciwnym razie mds zawsze będzie ją żuć.
Bryan Schuetz
5
Dzięki za sugestię dotyczącą Spotlight. Właśnie miałem bardzo wysokie odczyty dysku, wrzuciłem partycję Boot Camp do zakładki Prywatność w preferencjach Spotlight i od razu odczyt dysku był spłaszczony! Doprowadzał mnie do szału od miesięcy.
Tim Keating

Odpowiedzi:

61

Od man iotop:

iotop śledzi procesowe operacje wejścia / wyjścia na dysku i drukuje raport podsumowujący, który jest odświeżany co interwał.

Jest to pomiar zdarzeń na dysku, które przeszły przez pamięć podręczną systemu.

Ponieważ używa to DTrace, tylko użytkownik root lub użytkownicy z uprawnieniem dtrace_kernel mogą uruchomić to polecenie.

Może nie jest to dokładnie to, czego chcesz - ale jest to skrypt ksh, który otacza dtrace, więc powinieneś być w stanie dowiedzieć się, jak zmusić dtrace do zrobienia tego, czego potrzebujesz, jeśli iotop nie obsługuje go domyślnie.

Jednak coś w rodzaju iotop -C 5 12powinno dać ci początek: wyda 12 próbek, każde co 5 sekund.

James Polley
źródło
2
Całkiem dobre. iotop -C 5 12to dobry sposób na uzyskanie podsumowania tego, co się dzieje.
płatny frajer
51

Możesz także użyć, fs_usageaby uzyskać konto typu cios za ciosem tego, jakie aplikacje uderzają na dysk.

AlBlue
źródło
1
Oooh, jest gorąco. fs_usagepozwala także filtrować aktywność sieci i systemu plików.
płatny frajer
2

Zawsze zauważyłem to w sobotnie poranki i okazało się locate, że aktualizuje swoją bazę danych o 3:15 w piątkowe wieczory.

Próbowałem wyłączyć jego launchdkonfigurację (in /System/Library/LaunchDaemons/com.apple.locate.plist), ale i tak nadal działało, więc po prostu zjechałem /usr/libexec/locate.updatedbz drogi. Problem… złagodzony.

Brandan
źródło
1

Może to być stronicowanie systemu operacyjnego do pamięci wirtualnej zamiast czegoś specyficznego dla aplikacji. Możesz spróbować rzucić rzadziej używane aplikacje lub przynajmniej ponownie uruchomić niektóre aplikacje, które lubią budować pamięci podręczne w czasie (np. Safari). Sprawdź różne statystyki pamięci na proces za pomocą Monitora aktywności, aby znaleźć prawdopodobnych winowajców. Jeśli zamknięcie niektórych aplikacji intensywnie korzystających z pamięci wydaje się tymczasowo rozwiązać problem, możesz spróbować dodać pamięć RAM.

Jeśli działanie dysku nie jest związane ze stronicowaniem, możesz użyć go fs_usagedo śledzenia go z powrotem do jednego lub więcej określonych procesów.

Chris Johnsen
źródło