Saya adalah pemilik NAS, menjalankan beberapa distribusi Linux. Itu datang dengan frontend administrasi web, di mana saya dapat mengelola beberapa layanan, hak pengguna dan juga kapan harus pergi tidur. Masalah saya adalah, untuk beberapa alasan, ketika NAS sudah tidur, hard drive menyala lagi setelah beberapa menit. Kemudian akan berputar untuk beberapa waktu, lalu tidur lagi. Ini terus berlangsung tanpa batas.
Bagaimana saya bisa mencoba menentukan penyebabnya? Saya sangat baru di Linux, tetapi saya berhasil mendapatkan akses root, dan sekarang memiliki koneksi SSH.
Jawaban:
inotify-tools adalah cara sederhana untuk melakukan ini. Ada beberapa contoh di situs mereka yang dapat melakukan apa yang Anda inginkan (lihat contoh inotifywatch untuk yang benar-benar dasar).
sumber
Coba jalankan
iotop
mungkin? Saya menemukan itu berguna di masa lalu.sumber
Kiat lain: Gunakan Systemtap, ada banyak skrip probe di situs systemtap yang cukup berguna untuk menemukan pelakunya.
Dalam kasus lain sama sekali,
Jika Anda ingin mengetahui proses mana yang menyebabkan disk berputar, Anda dapat mengumpulkan informasi dengan mengatur bendera
/proc/sys/vm/block_dump
. Ketika flag ini disetel, Linux melaporkan semua operasi baca dan tulis disk yang terjadi, dan semua blokir dilakukan ke file. Ini memungkinkan untuk men-debug mengapa disk perlu diputar, dan untuk menambah masa pakai baterai lebih. Output dari block_dump ditulis ke output kernel, dan dapat diambil menggunakan "dmesg" atau lihat fasilitas syslog kern Anda untuk tujuan pesan debug. Secara umum, seharusnya/var/log/debug
. Ketika Anda menggunakan block_dump dan level logging kernel Anda juga menyertakan pesan debugging kernel, Anda mungkin ingin mematikan klogd, jika tidak, output dari block_dump akan dicatat, menyebabkan aktivitas disk yang biasanya tidak ada di sana.sumber
Anda perlu memberi tahu kernel untuk memberi tahu Anda tentang semua baca / tulis ke disk, maka Anda perlu melihat informasi itu.
Begitu:
sync
flush semua tulisan yang tertunda ke disk, sehingga Anda hanya akan melihat tulisan baru atau tulisan.dmesg -c
menampilkan pesan-pesan kernel kepada Anda, dan menghapusnya (jika tidak, Anda juga akan melihat yang lama, setiap kali Anda menjalankan dmesg).grep
memfilter keluaran dmesg untuk aktivitas untuk disk yang Anda minati. Ganti / dev / sda dengan perangkat Anda yang sebenarnya.Saya biasanya menggunakan sesuatu seperti ini untuk menurunkan disk, lalu memeriksa kapan itu berputar lagi:
The
while
Loop cek disk aktif Status / menganggur setiap 10 menit. Ketika Anda melihatnya menyala, jalankandmesg
baris di atas untuk melihat whodunnit.sumber