Jak znaleźć proces, który nieustannie zapisuje na dysk?
Podoba mi się, że moja stacja robocza jest prawie cicha i właśnie buduję nowy system (P8B75-M + Core i5 3450s - 's', ponieważ ma niższy maksymalny TDP) z cichymi wentylatorami itp. I zainstalowałem Debian Wheezy 64-bit na tym.
I coś mi działa na nerwy: słyszę jakiś wzór, jakby dysk twardy coś pisał lub szukał czegoś ( tyka ... tyka ... tyka ... trrrrrr spłucz i powtarzaj co sekundę).
W przeszłości miałem podobny problem w przeszłości (wiele, wiele lat temu) i okazało się, że był to jakiś dziennik CUPS lub coś takiego i po prostu przekierowałem to (nieistotne) logowanie na (prawdziwy) dysk RAM.
Ale tutaj nie jestem pewien.
Próbowałem następujące:
ls -lR /var/log > /tmp/a.tmp && sleep 5 && ls -lR /var/log > /tmp/b.tmp && diff /tmp/?.tmp
ale nic się tam nie zmienia.
Dziwną rzeczą jest to, że słyszę ten wzór, gdy wyświetla się monit o podanie hasła deszyfrującego LVM.
Czy może to być coś w jądrze / systemie, który właśnie zainstalowałem, czy mam wadliwy dysk twardy?
hdparm -tT /dev/sda
zgłoś prawidłową prędkość HD (130 GB / s bez pamięci podręcznej, sata 6 GB), a ja już zainstalowałem i skompilowałem z dużych źródeł (Emacs) bez problemu, więc nie sądzę, że system jest zły.
(HD to Seagate Barracude 500 GB)
Odpowiedzi:
Czy próbowałeś sprawdzić, jakie programy
iotop
pokazują? Dokładnie powie ci, jaki proces aktualnie zapisuje na dysk.przykładowe dane wyjściowe:
źródło
iotop -o -b -d 10
co każde 10 sekund drukuje listę procesów, które odczytują / zapisują na dysk oraz ilość wykorzystanego pasma IO.Możesz włączyć debugowanie
echo 1 > /proc/sys/vm/block_dump
we / wy za pośrednictwem, a następnie oglądać komunikaty debugowania w / var / log / syslog . Ma to tę zaletę, że uzyskuje pewnego rodzaju plik dziennika z wcześniejszymi działaniami, podczas gdyiotop
pokazuje tylko bieżącą aktywność.źródło
Zakładając, że hałas dysku wynika z procesu powodującego zapis, a nie z jakiegoś problemu z rozproszeniem dysku , możesz użyć podsystemu kontroli (zainstalować
auditd
pakiet ). Obserwujsync
rozmowy i ich przyjaciół:Oglądaj dzienniki
/var/log/audit/audit.log
. Uważaj, aby tego nie zrobić, jeśli same dzienniki kontroli są opróżnione! Sprawdź/etc/auditd.conf
, czyflush
opcja jest ustawiona nanone
.Jeśli pliki są często opróżniane, prawdopodobnym winowajcą są dzienniki systemowe. Na przykład, jeśli rejestrujesz nieudane próby połączenia przychodzącego i ktoś sonduje twój komputer, wygeneruje to wiele wpisów; może to powodować, że dysk emituje odgłosy przypominające karabiny maszynowe. Za pomocą sysklogd podstawowego demona dziennika sprawdź
/etc/syslog.conf
: jeśli nazwa pliku dziennika nie jest poprzedzona znakiem-
, to dziennik jest opróżniany na dysk po każdym zapisie.źródło
Być może Twoje dyski automatycznie się obracają, wiele dysków klasy konsumenckiej robi to obecnie. Niestety nawet w przypadku lekko obciążonego systemu powoduje to, że dyski stale się obracają, a następnie ponownie się obracają, szczególnie jeśli używasz hddtemp lub podobnego urządzenia do monitorowania temperatury dysku (większość dysków głupio nie pozwala zapytać o wartość temperatury SMART bez rozpędzania napędu - kretyński!).
Jest to nie tylko irytujące, ale może szybciej zużywać dyski, ponieważ wiele dysków ma ograniczoną liczbę cykli parkowania. np. patrz https://bugs.launchpad.net/ubuntu/+source/hdparm/+bug/952556 w celu uzyskania opisu problemu.
Wyłączam spindown bezczynności na wszystkich moich dyskach za pomocą następującego fragmentu kodu powłoki. możesz umieścić go w skrypcie /etc/rc.boot lub w pliku /etc/rc.local lub podobnym.
źródło
Właśnie odkryłem, że smart powoduje, że zewnętrzny dysk USB ciągle się obraca na moim Raspberry Pi. Chociaż SMART jest ogólnie dobrą rzeczą, postanowiłem go ponownie wyłączyć i od tego czasu wydaje się, że niepożądana aktywność dysku została zatrzymana
źródło
Możesz się trochę na to zwalić. Powinien to zawęzić dla większości.
Daj pliki zmodyfikowane od momentu uruchomienia na fizycznym urządzeniu systemu plików /. Znajomość plików prawdopodobnie pomoże zidentyfikować pisarza.
źródło
W razie potrzeby zawężenia go do dokładnego dysku, użyj:
uruchom
lsblk
i wyszukaj numer urządzenia. W poniższym przypadku tak jest9:126
uruchom
lsof | grep '9,126'
z:
zamiennikiem w,
porównaniu z powyższym numerem dysku. W moim przypadku wygląda to następująco:z PID
389162
zabicia tego procesu za pomocą:źródło
Problem polega na tym, że system musi domyślnie opróżniać dane z buforów dysku na dysk co 5 sekund. Tak więc, jeśli dysk się obraca, nie będzie innej opcji niż ponowne uruchomienie, gdy zajdzie potrzeba koloru. Tak więc problemu nie da się uniknąć inaczej niż poprzez wyłączenie wyłączeń obrotów lub funkcji zarządzania energią dysku
hdparm -B 255 /dev/hdax
. Jest to prawdopodobnie lepsza opcja, ponieważ ponowne uruchamianie tak często może być bardziej szkodliwe niż zwykłe pozostawanie przez cały czas.źródło