Linux

如何監控特定目錄中的磁碟 I/O?

  • January 22, 2013

我有幾個具有已知名稱的程序,它們都寫入單個目錄中的文件。我想記錄一段時間內磁碟塊讀取和寫入的數量(不僅僅是文件訪問),以測試參數更改是否會顯著減少 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’ 的輸出會更具體地滿足您的需要。

引用自:https://unix.stackexchange.com/questions/9520