オンラインの問題の場所------ディスクのボトルネック

ディスク容量を確認してください

ディスクの残りのスペースを確認してください

残りのディスク容量使用量df -hlコマンドを表示します

[root@localhost ~]# df -hl
文件系统                       容量  已用  可用 已用% 挂载点
devtmpfs                       678M     0  678M    0% /dev
tmpfs                          695M     0  695M    0% /dev/shm
tmpfs                          695M   28M  667M    4% /run
tmpfs                          695M     0  695M    0% /sys/fs/cgroup
/dev/mapper/centos_aubin-root   27G  5.6G   22G   21% /
/dev/sda1                     1014M  211M  804M   21% /boot

ディスクの使用済みスペースを表示する

du -shコマンドは、ディスクの使用済みスペースを表示することです。ここでの「使用済みディスクスペース」とは、指定したファイルの下のファイル階層全体で使用されるスペースを意味します。パラメーターが指定されていない場合は、du現在のディレクトリディスクスペースの使用済みスペースを報告ます。実際、ファイルまたはディレクトリが占めるディスク容量を表示することです 。

[root@localhost ~]# du -sh
64K
  • -h:ファイルシステムパーティションの使用状況を出力します。例:10KB、10MB、10GBなど。

  • -s:ファイルまたはディレクトリ全体のサイズを表示します。デフォルトの単位はKBです。

du詳細情報は、を通じて表示できます man du

ディスクの読み取りおよび書き込み条件を表示する

ディスクの全体的な読み取りおよび書き込み条件を表示します

スルーiostat表示するディスクは読み込み、一般的な状況を記述します。

[root@localhost ~]# iostat
Linux 3.10.0-1062.el7.x86_64 (localhost.localdomain)    2020年05月02日  _x86_64_        (2 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.17    0.00    0.20    0.46    0.00   99.17

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda               1.56        30.45        39.61    4659620    6060644
scd0              0.00         0.02         0.00       3102          0
dm-0              1.96        30.01        38.42    4591998    5878155
dm-1              0.09         0.09         0.30      13840      45328
  • tps:デバイスの1秒あたりの送信数。

  • kB_read/s:1秒あたりにデバイスから読み取られたデータの量(ドライブ表現)。

  • kB_wrtn/s:1秒あたりにデバイスに書き込まれるデータの量(ドライブ表現)。

  • kB_read:読み取られたデータの合計量。

  • kB_wrtn:書き込まれたデータの合計量。

詳細なディスクの読み取りおよび書き込み条件を表示する

iostat -x 1 3あなたが詳細にディスクの読み取りと書き込みを見ることができ、出力せずに全部で3つの出力は、毎秒がある。あなたはI / O待機時間がCPU時間の割合が高いを占めていることを見ると、最初に確認することがかどうかでありますマシンが大量に使用されています。スペースを交換しiowait、CPUの消費量が多いかどうかに注意してください。大きい場合は、ディスクのボトルネックが大きいことを意味します。同時にawait、ディスクの応答時間は5ms未満である:

[root@localhost ~]# iostat -x 1 3
Linux 3.10.0-1062.el7.x86_64 (localhost.localdomain)    2020年05月02日  _x86_64_        (2 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.17    0.00    0.20    0.46    0.00   99.16

Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
sda               0.01     0.49    0.63    0.95    30.59    39.78    89.58     0.34  214.23   49.16  323.48   8.55   1.34
scd0              0.00     0.00    0.00    0.00     0.02     0.00    98.48     0.00    1.21    1.21    0.00   0.95   0.00
dm-0              0.00     0.00    0.62    1.35    30.15    38.59    69.70     0.91  460.67   49.12  648.54   6.66   1.31
dm-1              0.00     0.00    0.02    0.07     0.09     0.30     8.52     0.04  442.74   95.43  521.17   6.91   0.06

avg-cpu全体的なCPU使用統計を示します。マルチコアCPUの場合、すべてのCPUの平均値は次のとおりです。

  • %user:CPUがユーザーモードになっている時間の割合。

  • %nice:CPUがNICE値でユーザーモードになっている時間のパーセンテージ。

  • %system:CPUがシステムモードになっている時間の割合。

  • %iowait:CPUが入出力の完了を待機する時間の割合。%iowaitの値が高すぎる場合は、ハードディスクにI / Oボトルネックがあることを示しています 。

  • %steal:ハイパーバイザーが別の仮想プロセッサーを維持しているときの仮想CPUの無意識の待機時間の割合。

  • %idle:CPUアイドル時間の割合。%idle値が高い場合は、CPUが比較的アイドル状態であることを意味します。%idle値が高いが、システムの応答が遅い場合は、CPUがメモリとメモリの割り当てを待機している可能性があります。容量を増やす必要があります。%idle値が継続的に10未満の場合は、CPU処理能力が比較的低く、システムで最も必要なリソースがCPUであることを示しています。 。

Deviceデバイス情報を示します:

  • rrqm/s:デバイスへの読み取り要求が1秒あたりにマージされ、ファイルシステムが同じブロックを読み取る要求をマージする回数

  • wrqm/s:このデバイスへの1秒あたりの合計書き込み要求数

  • r/s:1秒あたりに完了した読み取りの数

  • w/s:1秒あたりに完了した書き込みの数

  • rkB/s:1秒あたりのデータ読み取り量(単位はkB)

  • wkB/s:1秒あたりに書き込まれるデータ量(単位はkB)

  • avgrq-sz:各IO操作の平均データ量(セクター数は単位)

  • avgqu-sz:処理待ちのIO要求キューの平均の長さ

  • await:各IO要求の平均待機時間(待機時間と処理時間をミリ秒単位で含む)

  • svctm:各IO要求の平均処理時間(ミリ秒単位)

  • %util:I / Oに費やされる秒の割合。%utilが100%に近い場合は、生成されるI / O要求が多すぎて、I / Oシステムが完全にロードされていることを意味します。idleIOプレッシャーが70%未満の場合、IOプレッシャーは大きくなり、通常、読み取り速度の待機時間が長くなります。

iostat -xmd 1 3:新しいmオプションは、出力のM単位として使用できます

最もIOを消費するプロセスを表示する

通常、最初にiostatioボトルネックがあるかどうかiotopを確認してからコマンドを使用して、どのプロセスが最も多くのIOを消費しているかを特定します。

[root@localhost ~]# iotop
Total DISK READ :       0.00 B/s | Total DISK WRITE :       0.00 B/s
Actual DISK READ:       0.00 B/s | Actual DISK WRITE:       0.00 B/s
   TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN     IO>    COMMAND
123931 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.02 % [kworker/1:30]
 94208 be/4 xiaolyuh    0.00 B/s    0.00 B/s  0.00 %  0.00 % nautilus-desktop --force [gmain]
     1 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % systemd --system --deserialize 62
     2 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kthreadd]
 94211 be/4 xiaolyuh    0.00 B/s    0.00 B/s  0.00 %  0.00 % gvfsd-trash --spawner :1.4 /org/gtk/gvfs/exec_spaw/0
     4 be/0 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kworker/0:0H]
     6 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [ksoftirqd/0]
     7 rt/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [migration/0]
     8 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [rcu_bh]
     9 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [rcu_sched]
    10 be/0 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [lru-add-drain]
...

iostat -d -k-xで分析できます

画像

最後の列%utilは、各ディスクへの書き込みの程度を確認できます。一方、rrqpm / sとwrqm / sは、それぞれ読み取り速度と書き込み速度を表します。これは、通常、問題のある特定のディスクを見つけるのに役立ちます。

さらに、どのプロセスが読み取りと書き込みを行っているかも知る必要があります。一般的に、開発者はそれをよく知っているか、iotopコマンドを使用してファイルの読み取りと書き込みのソースを見つけます。

画像

しかし、ここで取得したのはtidです。これをpidに変換する必要があります。readlink、readlink -f /proc/*/task/tid/../。を介してpidを見つけることができます。

画像

pidを見つけたら、このプロセスの特定の読み取りおよび書き込み条件を確認できますcat / proc / pid / io

画像

lsofコマンドを使用して、特定のファイルの読み取りおよび書き込み条件を決定することもできますlsof -p pid

画像

 これによりiotop -p pid、単一プロセスのIO状況を表示できます。

[root@localhost ~]# iotop -p 124146
Total DISK READ :       0.00 B/s | Total DISK WRITE :       0.00 B/s
Actual DISK READ:       0.00 B/s | Actual DISK WRITE:       0.00 B/s
   TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN     IO>    COMMAND
124146 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % java -jar arthas-demo.jar

おすすめ

転載: blog.csdn.net/weixin_42073629/article/details/115271137