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.


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.


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.


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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.