解決策 1:
iostat
そのような統計を報告できます。通常、ディストリビューションのパッケージ sysstat に含まれています。
dstat も一見の価値があるかもしれません。これは最新の代替品です。
解決策 2:
カーネルに IO アカウンティングがある場合は、iotop
を使用できます そのような情報を提供します。また、collectd などの監視ツールは、データを記録してレポートすることができます。
解決策 3:
高負荷の原因を見つけるために、いくつかのことを確認できます。
vmstat -w
ovierwiem (プロセス、スワップ、メモリ、CPU、IO、システム) が表示されますpmstat -P ALL
CPU コアごとの統計 (%iowait を使用) を提供しますiostat -x
%util が高いか、待機時間が長いか、平均キュー サイズが大きいかを探しますiotop
でさらに掘り下げる
ps -ax
割り込み不可能なスリープ (通常は IO) である状態 D を探し、もう一度実行して、まだ D 状態にあるかどうかを確認します- strace でさらに深く掘り下げる
- lsof と netstat を使用して、これらのプロセスのファイルと接続を確認します
- sar/sysstat - このツールを使用すると、「現在」の統計だけでなく、昨日の午前 0 時に何が起こっていたかを確認することもできます
sar -b
- 全体的な io 活動sar -d
- 個々のブロック デバイス io アクティビティ