FreeBSD 10でZFSを使用して(hdd ledに従って)ディスクに定期的に書き込みを行っているプロセスを見つける方法はありますか(ZFSを詳細ログモードに変更する場合があります)?
lsof
およびその他の即座に集計する統計ユーティリティは、ディスクアクセスの瞬間が短いため、何もキャッチできないようです。
DTrace は、FreeBSDのvfs情報(および他の多くのプローブ)を報告できます。 DTraceは10カーネルでデフォルトで有効になっているため、モジュールをロードしてからdtraceスクリプトを実行するだけです。
DTraceモジュールをロードする
kldload dtraceall
FreeBSDフォーラムから vfssnoop.d スクリプトを入手してください。 全スレッド は、ディスク監視の宝庫です。
それを実行します:
./vfssnoop.d
アクセス内容を出力で確認します。
# ./vfssnoop.d
cc1: warning: is shorter than expected
TIMESTAMP UID PID PROCESS CALL SIZE PATH/FILE
1555479476691083 0 1225 nfsd vop_getattr - /share/netboot
1555479478601010 0 1225 nfsd vop_inactive - /share/netboot
1555479482457241 0 1225 nfsd vop_getattr - /share/wpad.dat
1555480557262388 0 1432 cron vop_getattr - /var/cron/tabs
1555480557302178 0 1432 cron vop_inactive - /var/cron/tabs
1555480557336414 0 1432 cron vop_inactive - /etc
1555480557346224 0 1432 cron vop_getattr - /etc/crontab
実行:top -m io -o write -s 1
これは、プロセスがディスクに書き込んでいる順にソートされ、1秒ごとに更新されるプロセスのリストを出力します。