Bagaimana saya bisa tahu apa yang memutar drive saya?


8

Saya telah mengaktifkan "spindown" di salah satu drive server Linux saya, yang hanya diakses oleh klien BitTorrent - artinya, ketika saya tidak menjalankan torrent, tidak ada lagi yang seharusnya mengakses disk dan membangunkannya dari spindown (kan? ).

Tetapi ada sesuatu yang membuat disk berputar setiap 15 menit atau lebih. Bagaimana saya bisa melacak pelakunya?

Terima kasih atas umpan baliknya!

Jawaban:


8

Anda dapat melihat http://samwel.tk/laptop_mode/ . Meskipun halaman ini bukan terutama tentang masalah Anda, tetapi memberikan gambaran keseluruhan yang baik tentang cara kerja IO dan ide-ide, cara membuat disk Anda diam dengan mematikannya.

Jawaban singkat untuk masalah Anda:

gema 1> / proc / sys / vm / block_dump

itu akan menghasilkan pesan di syslog seperti:

23 Jul 10:04:05 locutus kernel: ls (5224): BACA blok 7340136 pada dm-4
23 Jul 10:04:05 locutus kernel: ls (5224): BACA blok 4335136 pada dm-4
23 Jul 10:04:05 locutus kernel: ls (5224): BACA blok 15505568 pada dm-4
23 Jul 10:04:05 locutus kernel: ls (5224): BACA blok 7340160 pada dm-4
23 Jul 10:04:05 locutus kernel: ls (5224): BACA blok 7340168 pada dm-4

Saya telah menggunakan perintah ls sederhana

CATATAN: pastikan pencatatan sistem Anda dimatikan atau ditulis ke ramdisk (ketik: tmpfs) sebelum melakukannya, karena (kutipan): "sistem Anda dapat masuk ke loop umpan balik, di mana syslogd menyebabkan aktivitas disk, ini menyebabkan output kernel, dan ini menyebabkan syslogd melakukan lebih banyak aktivitas disk "

Saya merekomendasikan mount / tmp sebagai ramdisk kemudian mengatur logging ke / tmp / syslog. Di / etc / fstab ini (dan reboot) akan melakukan:

tidak ada / tmp default tmpfs, size = 256M 0 0

9

Di Linux, fanotifysyscall -ish baru-baru ini mengaktifkan utilitas bagus yang disebut fatraceyang menginformasikan proses mana yang memukul file mana baik untuk seluruh sistem atau partisi tertentu. Pasti alat favorit saya untuk hal semacam ini:

deluged(6542): R /usr/share/GeoIP/GeoIP.dat
rsyslogd(1737): W /var/log/syslog
rsyslogd(1737): W /var/log/kern.log

Alat ini luar biasa! Bagi saya, ternyata smartd memutar drive, yang saya rasa masuk akal.
Alexander O'Mara

5

Saya telah menggunakan iotop untuk mencari tahu apa yang menggunakan drive. Dari situs web Anda harus memiliki "Linux kernel ≥ 2.6.20 dengan opsi TASK_DELAY_ACCT dan TASK_IO_ACCOUNTING diaktifkan".

Sepertinya Anda hanya tertarik pada satu drive tertentu. Anda mungkin mempertimbangkan untuk menulis skrip yang secara rutin memeriksa dengan lsof atau fuser untuk akses ke drive / partisi itu.


1

Jika suatu proses mulai menulis data ke drive maka Anda bisa mengetahuinya dengan memeriksa secara teratur file yang terbuka: lsof .

Lain Anda bisa melihat dengan "bebas" jika file swap digunakan atau tidak.


1

Anda harus dapat menggunakan audit Linux untuk menambahkan arloji pada titik mount drive, kemudian memantau log dengan penelitian setelah acara untuk mencari tahu file apa yang dibaca atau ditulis ke (jika ada), dan proses apa yang dilakukan, audit dapat perhatikan membaca, menulis, mengeksekusi dan atribut perubahan pada sistem file apa saja (asalkan didukung pada sistem Anda - seharusnya).


0

Mungkin Anda bisa menggunakan incron yang menggunakan inotify untuk meluncurkan perintah berdasarkan aktivitas sistem file. Anda kemudian dapat menonton titik mount dan menggunakan incron untuk memicu lsof untuk mencari proses mana yang mengaksesnya.


0

Hal yang mudah untuk memeriksa apa yang memutar disk Anda adalah:

pergi ke direktori disk yang dipasang, bagi saya adalah / media / disk0 / transmisi

maka Anda jalankan: sudo fatrace -c

Anda akan mendapatkan hasil anyting yang mengenai folder itu, misalnya Anda dapat login dengan ssh dan melakukan ls.

df (54956): CO / media / disk1 bash (55025): O / media / disk1 bash (55025): RC / media / disk1 bash (55026): O / media / disk1 bash (55026): RC / media / disk1

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.