GNU/Linux >> Linux の 問題 >  >> Linux

Linux - ディスク IO を待っているものを確認するにはどうすればよいですか

解決策 1:

iotop などの I/O モニターを使用できますが、現在の I/O 操作があるプロセスまたはスレッドのみが表示されます。

I/O を待っているプロセスを参照する必要がある場合は、watch を使用して、以下のように STAT フラグ 'D' でプロセスを監視します。

watch -n 1 "(ps aux | awk '\$8 ~ /D/  { print \$0 }')"

解決策 2:

ps axu 「D」状態のプロセスを探します。 ps(1) マンページに基づくと、D 状態にあるプロセスは割り込み不可能なスリープ状態にあり、これはほとんどの場合「IO を待っている」ことを意味します。残念ながら、これらのプロセスを強制終了することは通常不可能です。

解決策 3:

Zanchey の答えは、IO を待っているものを見つけるために私が知っている最高のものです。

サーバーの負荷が高いと言うとき、それはどういう意味ですか?特に何か反応が遅いですか?

ディスク IO がボトルネックかどうか疑問に思っている場合は、iostat コマンド (sysstat パッケージの一部) を使用して、ディスクに実際に負荷がかかっているかどうかを確認します。

例:

[[email protected]: ~] iostat -x 1 3                                                                                           

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           2.38   34.71    2.64    1.18    0.00   59.21 
Device:         rrqm/s   wrqm/s     r/s     w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %util
sda               0.11    17.35    2.21   20.31    46.57   301.40    15.45     2.27  100.66   1.48   3.34
sda1              0.10    17.31    2.21   20.31    46.48   301.10    15.44     2.27  100.66   1.48   3.34
sda2              0.00     0.00    0.00    0.00     0.00     0.00     3.50     0.00   30.00  30.00   0.00
sr0               0.00     0.00    0.00    0.00     0.00     0.00    18.44     0.00  677.67 512.61   0.00

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           6.22    0.00    4.31    0.00    0.00   89.47   
Device:         rrqm/s   wrqm/s     r/s     w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %util
sda               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
sda1              0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
sda2              0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
sr0               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00

Linux
  1. Linux – Dmesgで何をgrepするかを知る方法は?

  2. Linux でファイルとディレクトリのサイズを確認するにはどうすればよいですか?

  3. /tmp のディスク容量を確認するにはどうすればよいですか?

  1. Linuxでディスクをパーティション分割する方法

  2. LinuxでのIP転送とは何ですか? IP転送を有効にする方法は?

  3. 使用している Linux のバージョンを確認するにはどうすればよいですか?

  1. Linuxでファイルをシンボリックリンクするにはどうすればよいですか?

  2. Linux でディレクトリの空きディスク領域をプログラムで取得する方法

  3. 最もよく使用されている Linux コマンドを確認するにはどうすればよいですか?