2009-05-14 6 views
7

I/Oの待機時間、プロセスがブロックされている時間を知ることができるプロセスごとに動作するタイプコマンドvmstatがありますか?ユーザーコード?LinuxでI/Oを待っているプロセスがブロックされている時間を調べる

+0

アプリケーションをプロファイリングすることを検討しましたか? oprofile?そうすれば、アプリケーションがどこまで多くの時間(IOなど)を費やすかについての詳細がわかります。 – lothar

答えて

1

blktraceは、/ etc /ビジーブロック待っ何あなたがブロック層情報、を探している...、非常に深く、seekwatcher、そこから派生したパッケージのかなりの数があり、...

sigjuiceが言ったように、アイトップと同じような他のツールも便利ですが、深刻な分析のためにあまり情報がありません。また、btrace/blktraceはoprofileよりI/Oトレースに適していると信じています。これはより一般的であり、比較の負荷を増加させます。

-1

top (1)はこの情報を表示します。個別のPIDを指定することができます-p

+0

-d:遅延時間間隔:-d ss.tt(秒.ths) 画面更新の遅延を指定し、個人の設定ファイルまたは起動時のデフォルト値に対応する値を上書きします。後でこれを 'd'や 's'の対話型コマンドで変更することができます。 分数秒は認められますが、負数は許可されません。ただし、topが 'Secure mode'で実行されている場合は、root以外のコマンドラインオプションが使用されていない限り、そのような変更は禁止されています。 「セキュアモード」に関する追加情報については、トピック5aを参照してください。システム構成ファイル。 – TruongSinh

0

pidstat -dもご覧ください。各プロセスがどれだけ読み書きしているかを見ることができます。

0

straceは、システムコールでどれくらいの時間が費やされているかを表示しますが、実際にI/Oに費やされた時間と比較して、この時間がどれだけ費やされたかはわかりません。トレースするシステムコール、またはどのタイプが非常に強力であるかを選択できます。

latencytop他のプロセスのためにプロセスがI/Oを待つ可能性があるため、またはジャーナリングデーモン。

関連する問題