Linux
如何監控特定目錄中的磁碟 I/O?
我有幾個具有已知名稱的程序,它們都寫入單個目錄中的文件。我想記錄一段時間內磁碟塊讀取和寫入的數量(不僅僅是文件訪問),以測試參數更改是否會顯著減少 I/O 量。我目前正在使用
iostat -d -p
,但僅限於整個分區。
我意識到這聽起來既簡單又荒謬,但是如果您可以控制有問題的應用程序(可能在測試環境中),您可以只將該目錄安裝在它自己的分區上,然後
iostat
等會告訴您關於它,在那個地方沒有別的。如果涉及物理驅動器,您可以使用環回掛載來偽造它
dd if=/dev/zero of=/bigdisk/LOOPFILE bs=1024m count=1024m # 1gb loopback file mke2fs -j /bigdisk/LOOPFILE mkdir /tmpcopy mount -o loop /tmpcopy /bigdisk/LOOPFILE cp -r -p $SPECIALDIR2MONITOR /tmpcopy umount /tmpcopy mount -o loop $SPECIALDIR2MONITOR /bigdisk/LOOPFILE,
這不會完全刪除所有競爭的磁碟 I/O,但我很確定
iostat
’ 的輸出會更具體地滿足您的需要。