Jak stwierdzić, które procesy sterują obciążeniami we / wy?

4

W moim systemie ostatnio coś napędza wiele operacji we / wy na dysku. Widzę w ActivityMonitor, że istnieją ogromne ilości odczytów i zapisów w każdej sekundzie. Ale żaden z „normalnych” podejrzanych nie jest aktywny, gdy tak się dzieje. (tj. nie jest to maszyna czasu.) i mam dużo wolnej pamięci (od 800 MB do 1,3 GB z całkowitej liczby 6 GB), więc nie powinno być stronicowania. Nie widzę żadnych aplikacji na górze, które byłyby blokowane na I / O, gdy się uruchomi. (kiedy już to nastąpi, widzę, że rzeczy zaczynają się gromadzić ... ale wszystko, co tam widzę, wydaje się być ofiarą.)

Jakich narzędzi mogę użyć, aby zrozumieć, który proces powoduje dysk io?

Myślę, że zaczęło się od 10.6.6. :( Pamiętam, że nigdy nie trafiłem w to 10.6.5.

cabbey
źródło
Kiedy to się zaczyna? Czy wydaje się, że jest uruchamiany zaraz po włączeniu komputera, czy też po otwarciu określonej aplikacji?
Nathan Greenstein
Nie znalazłem jeszcze żadnego rozsądnego wzorca. Kiedy opublikowałem to dziś rano, obudziłem system około 45 minut wcześniej i uruchomiłem te same kilkanaście procesów, które działały od wielu dni. Wydaje się, że zdarza się to co 3 lub 4 dni, skomentuję, co to jest, gdy złapię go z rozwiązaniem Gordona.
cabbey
Myślę, że Activity Monitor jest bezużyteczny - muszę także wiedzieć, co się dzieje z tym materiałem we / wy. Apple z pewnością może wymyślić coś więcej niż Activity Monitor, aby powiedzieć mi, co się dzieje z moim MacPRO (10.6.6). Kupiłem MacScan i odkryłem, że zatrzymał wiele aktywności w postaci spyware ... coś do rozważenia ... Konfiguruję MacScan do uruchamiania co 24 godziny o północy. Teraz już nie tracę przepustowości w ramach moich ograniczeń satelitarnych Hughesnet.
drellenr
Tajemnica rozwiązana dzięki iotopowi. Był to klient sieciowy (pole testowe wirtualnych okien), który zamontował mój katalog domowy i najwyraźniej robił coś w rodzaju indeksowania lub skanowania lub coś takiego. Poszedłem i odłączyłem akcję od strony Wintendo i natychmiast przestałem szlifować mój zestaw raidowy.
cabbey

Odpowiedzi:

8

Próbować sudo iosnoop; pokazuje operacje we / wy, w tym identyfikator procesu i nazwę procesu wykonującego operacje we / wy, a także rozmiar danych, ścieżkę do pliku itp. Istnieją opcje ograniczające wyświetlanie tylko określonego urządzenia, punktu podłączenia, procesu itd.

Gordon Davisson
źródło
i ze strony człowieka iosnoopa, iotop jest jeszcze lepszy! dzięki!!
cabbey
@ Cababey, którego wcześniej nie zauważyłem; dzięki za wskaźnik.
Gordon Davisson
0

W systemach * nix lsof służy do sprawdzania, która aplikacja ma otwarty plik. To dobry punkt wyjścia do kopania.

Rodzaj man lsof w wierszu poleceń, aby sprawdzić, czy jego opis brzmi użytecznie.

Otwórz także aplikację „konsola” lub tail -f niektórych /var/log pliki, które wykazują dużą aktywność i sprawdzają, czy coś jest zepsute lub narzeka.

Greg
źródło
Podczas gdy LSOF jest świetny dla niektórych rzeczy, np. Dlaczego nie mogę odmontować / wysunąć tego nośnika, nie jest to tutaj przydatne. Pokazywanie mi, jakie pliki są OTWARTE, nie ma sensu, przez cały czas są tysiące otwartych plików. Muszę wiedzieć, które są odczytywane / zapisywane.
cabbey