web-dev-qa-db-ja.com

ディスクIOを監視するにはどうすればよいですか?

Debian Linuxサーバーで一般的なディスクIO監視を行いたいのですが。そのディスクioを監視するために知っておくべきツールは何ですか?ディスクのパフォーマンスが最大になっているのか、1日の特定の時間に急上昇しているのかを確認できますか?

280
camomileCase

ディスクI/Oの傾向については、いくつかのオプションがあります。私の個人的なお気に入りはsarsysstatコマンドです。デフォルトでは、次のような出力が表示されます。

09:25:01 AM     CPU     %user     %Nice   %system   %iowait    %steal     %idle
09:35:01 AM     all      0.11      0.00      0.01      0.00      0.00     99.88
09:45:01 AM     all      0.12      0.00      0.01      0.00      0.00     99.86
09:55:01 AM     all      0.09      0.00      0.01      0.00      0.00     99.90
10:05:01 AM     all      0.10      0.00      0.01      0.02      0.01     99.86
Average:        all      0.19      0.00      0.02      0.00      0.01     99.78

%iowaitは、I/Oの待機に費やされた時間です。 Debianパッケージを使用する場合は、パッケージのインストール後に/etc/default/sysstat構成ファイルを介してstatコレクターを有効にする必要があります。

現在の使用状況をデバイス別に表示するには、sysstatパッケージからiostatコマンドを使用できます。

$ iostat -x 1
Linux 3.5.2-x86_64-linode26 (linode)    11/08/2012      _x86_64_        (4 CPU)

avg-cpu:  %user   %Nice %system %iowait  %steal   %idle
           0.84    0.00    0.08    1.22    0.07   97.80

Device:         rrqm/s   wrqm/s     r/s     w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %util
xvda              0.09     1.02    2.58    0.49   112.79    12.11    40.74     0.15   48.56   3.88   1.19
xvdb              1.39     0.43    4.03    1.82    43.33    18.43    10.56     0.66  112.73   1.93   1.13

トレンドグラフでディスク使用量を示すことができる他のいくつかのオプションは munin および cacti です。

240
jordanm

Iotopをご覧ください。

または、iodumpの方が考え方が悪い場合は、.

注:これが機能するには、少なくとも kernel 2.6.2 が必要です。

111
tink

dstatが好きです。ディスクごとの合計と統計、さらにはmd-devices(RAID)を表示できます。また、色を使用して全体像を把握できます。

$ dstat -tdD total,sda,sdb,sdc,md1 60 
----system---- -dsk/total----dsk/sda-----dsk/sdb-----dsk/sdc-----dsk/md1--
     time     | read  writ: read  writ: read  writ: read  writ: read  writ
08-11 22:08:17|3549k  277k: 144k   28k: 851k   62k: 852k   60k:  25k   82k
08-11 22:09:17|  60k  258k:1775B   15k:  13k   63k:  15k   60k:  68B   74k
08-11 22:10:17| 176k  499k:   0    14k:  41k  122k:  41k  125k: 273B  157k
08-11 22:11:17|  42k  230k:   0    14k:9830B   54k:  14k   51k:   0    70k
08-11 22:11:52|  28k  132k:   0  5032B:5266B   33k:9479B   28k:   0    37k
  • -tタイムスタンプ
  • -dディスク統計
  • -Dレポートするデバイスを正確に指定します
  • 60 60秒以上の平均。表示は毎秒更新されますが、60秒に1回だけ新しい行が開始されます。

  • この例では使用されませんが、-cは、待機をレポートできますIO=パーセンテージ。これは、ほとんどの場合、CPUがディスクからのデータを待機していることに関連しています。

ほとんどのLinuxディストリビューションで使用できますが、リポジトリからインストールする必要がある場合があります。

99
jippie

ちょうど コンピューター上のファイル (最近のカーネルを想定)から/sys/block/sda/statまたは/proc/diskstats。ただし、翻訳が必要です。しかし、それは迅速かつ汚いチェックのためにいいです。

52
charlesbridge

別のオプションは、使用することです:Sudo iotop -aoP

-a    Will show accumulated output
-o    Will only output 
-P    Will only show processes instead of threads

このプログラムは、iotopが起動されてからプロセスがディスクに書き込んだりディスクから読み取ったりした量を通知します。

39
lanoxx

Disk Ioの監視は、次のような複数のツールで実行できます。

  1. イオスタット
  2. イオゾン
  3. SAR
  4. vmstat

また、いくつかの重要なオペレーティングシステムの概念は、それらを理解するために非常に必要です。 Linux IO完全なチュートリアルを読む

8
sarath

負荷がどこから来るのかをすばやく概観するためのもう1つの優れたツールは atop です。

すべてのリソース(CPU、メモリ/スワップ、ネットワーク、ディスクI/O)の概要を表示したり、単一のリソースにドリルダウンして、消費量でプロセスをソートしたりできます。

7
Aaron Digulla

nmon を試してみませんか。それはプロセスとディスクとネットワークを行います。もともとはAIX用ですが、ここ数年はLinuxに移植されています。

5
Steve Rowe

長期間のパフォーマンスを確認したい場合に最適なことは、 Centreon を使用することです。これは、 Nagios に基づいて構築された強力なツールです。 Centreonを使用すると、リソースのパフォーマンスやその他多くのグラフを描画して監視できます。

1
omar