Saya punya beberapa proses dengan nama yang diketahui yang semuanya ditulis ke file dalam satu direktori. Saya ingin mencatat jumlah blok disk yang dibaca dan ditulis dalam periode tertentu ( bukan hanya akses file) untuk menguji apakah perubahan parameter mengurangi jumlah I / O secara signifikan. Saat ini saya menggunakan iostat -d -p
, tetapi itu terbatas pada seluruh partisi.
linux
monitoring
io
disk-usage
l0b0
sumber
sumber
Jawaban:
Saya menyadari ini akan terdengar sederhana dan tidak masuk akal, tetapi jika Anda memiliki kendali atas aplikasi yang dimaksud (mungkin di lingkungan pengujian), Anda HANYA me-mount direktori itu pada partisi sendiri, lalu
iostat
, dll. Akan memberi tahu Anda hanya tentang hal itu, dan tidak ada yang lain di tempat itu.Jika ada drive fisik yang terlibat, Anda dapat memalsunya dengan loopback mount à la
Itu tidak akan sepenuhnya menghapus semua I / O disk yang bersaing, tapi saya cukup yakin
iostat
output akan lebih spesifik untuk kebutuhan Anda.sumber
Saya tidak berpikir ada jalan langsung. Salah satu cara untuk mendapatkan data yang Anda inginkan adalah dengan mengakses pohon direktori melalui sistem file virtual yang mengakses log. Loggedfs adalah salah satu sistem file seperti itu, meskipun saya tidak tahu apakah itu dapat menampilkan semua data yang Anda minati. (Jika tidak, mungkin ini akan menjadi upaya pengkodean sederhana untuk data itu.)
sumber
Anda dapat menggunakan
inotifywait -m DIRNAME
dari alat inotify .sumber
-d
tidak ada di inotifywait 3.13. Apakah yang Anda maksud-m
?-m
dengan pengecualian untuk menjalankan di latar belakang dan membutuhkan pengabaian.-r
mungkin berguna