disk ioを監視するにはどうすればよいですか?


267

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


回答:


225

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

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、パッケージのインストール後にconfigファイルを介してstat collectorを有効にする必要があります。

デバイスiostatごとに現在の使用率を確認するには、sysstatパッケージのコマンドを使用できます。

$ 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

傾向グラフでディスク使用量を表示できる他のオプションには、munincactiがあります。


私が探しているのは、MuninまたはCactiです。ポインタをありがとう。
camomileCase

6
%iowaitは、カーネルがIOを待つ以外に何もしなかった時間のみを表示することに注意してください。CPUが100%バインドされたサーバーでは、I / Oの量に関係なく、これはゼロになります。
ユルゲンストロベル

iostat -x dm-0 | grepデバイス; iostat -xd 2 -y dm-0 | grep dm-0
フアンメディナ

104

iotopをご覧ください。

または、iodump、それがあなたの考え方よりも下の場合。

注:これを機能させるには、少なくともカーネル2.6.20が必要です。


これはLinuxだけでなく、新しい(またはパッチを適用した)カーネルも必要です。
ヨルダン

これらは今何が起こっているのかを知るのには良いように見えますが、より大きな画像の監視を探しています。
camomileCase

8
@camomileCase -あなたは...あなたの質問にそれを指定していない
ティンク

90

私は好きdstatです。ディスクごとの合計と統計、さらにはmdデバイス(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秒以上。表示は1秒ごとに更新されますが、60秒に1回だけ新しい行が開始されます。

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

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


49

ちょうどからコンピュータ上のファイル(最近のカーネルを想定して)あなたが尋ねることができます/sys/block/sda/stat/proc/diskstats。ただし、翻訳が必要です。しかし、迅速で汚れたチェックには便利です。




2
この答えの大きな利点は、ツールをインストールする必要がないことです。ただそこにあります。(潜在的に:-)
ベンアベリング

2
例えば、「読み取りIOマージセクターティック書き込みioマージセクターティック飛行中ioticks timeinqueu」; cat / sys / block / vda / vda1 / stat; sleep 10; 猫/ SYS /ブロック/ VDA / VDA1 / STAT
ベンAveling

35

別のオプションは以下を使用することです: sudo iotop -aoP

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

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


ディスクにアクセスしているものが聞こえますが、累積出力は非常にゆっくりと増加します。1秒でまったく増加しない場合があります... ???
マイケル

ディスクの音が聞こえる場合は、おそらく古いディスクであるか、低速です。最近のHDDは非常に静かになる傾向があります。どんな音がしますか?smartctlディスクが正常かどうかを確認するために使用します。
rudolfbyker

8

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

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

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


2
iozoneは監視用ではなくテスト用です。「Iozoneはファイルシステムベンチマークツールです。ベンチマークはさまざまなファイル操作を生成および測定します。」
アンドリュービールズ

7

負荷がどこから来るのかを簡単に概観するための別の素晴らしいツールは atop

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


5

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


1

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


他に何か?スクリーンショットはありますか?答えを広げてください。
コンラッドガジェウスキ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.