Bagaimana cara melacak penggunaan IO di Linux dan * nix OS 'lainnya?

15

Kadang-kadang, sesuatu di sistem saya mulai memalu disk. Saya ingin mencatat data yang akan memberi tahu saya tentang penggunaan I / O per proses, kemudian saya bisa kembali lagi nanti dan melihat apa yang terus melakukan ini. Bagaimana saya harus menyelesaikan masalah ini? Poin bonus untuk menyelesaikan ini untuk perangkat blok yang sewenang-wenang.

kbyrd
sumber

Jawaban:

12

Saya akan iotopmencoba (hanya Linux). Ini cukup bagus untuk memberi Anda proses dengan transfer I / O yang tinggi, tetapi iotoplebih untuk menampilkan status saat ini daripada masuk.

Untuk logging, sarselalu merupakan alat yang baik untuk aspek kinerja.

txwikinger
sumber
1
Perlu dicatat bahwa iotop adalah linux saja. (setidaknya saya 99% yakin itu)
xenoterracide
sar juga tersedia di semua versi unix yang pernah saya gunakan.
txwikinger
2
Pada sistem Ubuntu (ini mungkin berlaku untuk semua Linux), ada beberapa perdebatan cuaca iotopberfungsi dengan benar. Lihat bugs.launchpad.net/ubuntu/+source/linux/+bug/493156
Stefan Lasiewski
@Stefan: Dari apa yang saya baca itu hanya akan mempengaruhi distribusi yang telah mengkonfigurasi kernelnya dengan CONFIG_TASK_DELAY_ACCT diaktifkan. Apakah ada hal lain di utas yang saya lewatkan?
Steven D