FreeBSD 10トレースディスクアクティビティ


9

FreeBSD 10でZFSを使用して(hdd ledに従って)ディスクに定期的に書き込みを行っているプロセスを見つける方法はありますか(ZFSを詳細ログモードに変更する場合があります)?

lsof また、ディスクアクセスの瞬間が短いため、他の即時集計統計ユーティリティは何もキャッチできないようです。


のioディスプレイを使用してtop、ディスクI / Oを消費しているプロシージャを探すのはどうですか?:top -m io -o totalfreebsd.org/cgi/...

これは、ほとんどがトップにある高負荷プロセスにおそらく役立ちますが、アクティビティがトップスケジュールと一致しないプロセスには役立ちません。たとえば、hdd ledが数秒に1回絶えず点滅している場合、試した限り、上部にsmthが表示される可能性はほとんどありません
o_0

回答:


9

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

聖マカロニ!どうもありがとう、私のグーグルラッシュがようやく終了しました)
o_0

5

実行: top -m io -o write -s 1

これは、プロセスがディスクに書き込んでいる順にソートされ、1秒ごとに更新されるプロセスのリストを出力します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.