Bagaimana saya bisa menemukan proses mana yang terus-menerus menulis ke disk?
Saya suka workstation saya menjadi dekat dengan sunyi dan saya hanya membangun sistem baru (P8B75-M + Core i5 3450s - 's' karena memiliki TDP max lebih rendah) dengan kipas yang tenang dll. Dan menginstal Debian Wheezy 64-bit di atasnya.
Dan ada sesuatu yang mengganggu saya: Saya dapat mendengar semacam pola seperti jika hard disk sedang menulis atau mencari sesuatu ( centang ... centang ... centang ... trrrrrr bilas dan ulangi setiap detik atau lebih).
Di masa lalu saya memiliki masalah yang sama di masa lalu (bertahun-tahun yang lalu) dan ternyata itu adalah beberapa log CUPS atau sesuatu dan saya hanya diarahkan kembali bahwa satu (tidak penting) masuk ke disk RAM (nyata).
Tapi di sini saya tidak yakin.
Saya mencoba yang berikut ini:
ls -lR /var/log > /tmp/a.tmp && sleep 5 && ls -lR /var/log > /tmp/b.tmp && diff /tmp/?.tmp
tapi tidak ada yang berubah di sana.
Sekarang yang aneh adalah bahwa saya juga mendengar polanya ketika prompt meminta saya untuk memasukkan frasa sandi dekripsi LVM saya ditampilkan.
Mungkinkah itu sesuatu di kernel / sistem yang baru saja saya instal atau apakah saya memiliki harddisk yang rusak?
hdparm -tT /dev/sda
melaporkan kecepatan HD yang benar (130 GB / s non-cache, sata 6GB) dan saya sudah menginstal dan dikompilasi dari sumber besar (Emacs) tanpa masalah jadi saya tidak berpikir sistemnya buruk.
(HD adalah Seagate Barracude 500GB)
Jawaban:
Apakah Anda mencoba memeriksa program apa
iotop
yang ditampilkan? Ini akan memberi tahu Anda dengan tepat proses apa yang sedang ditulis ke disk.contoh output:
sumber
iotop -o -b -d 10
yang setiap 10 detik mencetak daftar proses yang membaca / menulis ke disk dan jumlah bandwidth IO yang digunakan.Anda dapat mengaktifkan IO debugging melalui
echo 1 > /proc/sys/vm/block_dump
dan kemudian menonton pesan debugging di / var / log / syslog . Ini memiliki keuntungan mendapatkan beberapa jenis file log dengan aktivitas masa lalu sedangkaniotop
hanya menunjukkan aktivitas saat ini.sumber
Dengan asumsi bahwa suara disk disebabkan oleh proses yang menyebabkan penulisan dan bukan karena masalah disk spindown , Anda dapat menggunakan subsistem audit (instal
auditd
paket ). Letakkan arloji disync
telepon dan teman-temannya:Tonton log masuk
/var/log/audit/audit.log
. Berhati-hatilah untuk tidak melakukan ini jika audit log sendiri memerah! Periksa/etc/auditd.conf
bahwaflush
opsi diatur kenone
.Jika file sering dibilas, kemungkinan penyebabnya adalah log sistem. Misalnya, jika Anda mencatat upaya koneksi masuk yang gagal dan seseorang sedang memeriksa mesin Anda, itu akan menghasilkan banyak entri; ini dapat menyebabkan disk memancarkan suara gaya senapan mesin. Dengan log daemon sysklogd dasar, periksa
/etc/syslog.conf
: jika nama file log tidak didahului oleh-
, maka log tersebut akan dihapus ke disk setelah setiap penulisan.sumber
Mungkin hard disk Anda berputar secara otomatis, banyak hard disk tingkat konsumen yang melakukannya belakangan ini. Sayangnya pada sistem yang sarat muatan, ini mengakibatkan drive terus-menerus berputar dan kemudian berputar lagi, terutama jika Anda menjalankan hddtemp atau serupa untuk memantau suhu drive (kebanyakan drive dengan bodohnya tidak membiarkan Anda menanyakan nilai suhu SMART tanpa memutar drive - cretinous!).
Ini tidak hanya menjengkelkan, ia dapat aus drive lebih cepat karena banyak drive hanya memiliki jumlah siklus taman yang terbatas. mis. lihat https://bugs.launchpad.net/ubuntu/+source/hdparm/+bug/952556 untuk deskripsi masalahnya.
Saya menonaktifkan idle-spindown pada semua drive saya dengan sedikit kode shell berikut. Anda bisa meletakkannya di skrip /etc/rc.boot, atau di /etc/rc.local atau serupa.
sumber
Saya baru saja menemukan bahwa smart menyebabkan disk USB eksternal berputar berulang-ulang pada raspberry pi saya. Walaupun SMART pada umumnya adalah hal yang baik, saya memutuskan untuk menonaktifkannya lagi dan sejak saat itu tampaknya aktivitas disk yang tidak diinginkan telah berhenti
sumber
Anda bisa sedikit kesal. Harus mempersempitnya untuk sebagian besar.
Berikan file yang dimodifikasi sejak boot pada perangkat fisik sistem / file. Mengetahui file kemungkinan akan membantu mengidentifikasi penulis.
sumber
Jika Anda perlu mempersempitnya ke disk yang tepat gunakan yang berikut ini:
jalankan
lsblk
dan cari nomor perangkat. Dalam kasus di bawah ini9:126
jalankan
lsof | grep '9,126'
dengan:
ganti dengan,
dibandingkan dengan nomor disk di atas. Dalam kasus saya ini muncul sebagai:dengan PID dari
389162
kill proses ini menggunakan:sumber
Masalahnya adalah bahwa sistem perlu menyiram data dari buffer disk ke disk selama 5 detik atau lebih secara default. Jadi jika disk tidak berputar, akan ada sedikit pilihan selain untuk memutar kembali ketika flush perlu terjadi. Jadi masalahnya tidak benar-benar dapat dihindari selain dengan menonaktifkan spin downs atau fitur manajemen daya disk sama sekali
hdparm -B 255 /dev/hdax
. Ini mungkin pilihan yang lebih baik karena memulai kembali begitu sering pasti dapat lebih merusak daripada hanya tinggal di sepanjang waktu.sumber