動かざることバグの如し

近づきたいよ 君の理想に

Linuxでディスクに負荷をかけてるプロセスを特定したい

iotopコマンドの場合

rootないしはsudoが使える場合はこれが便利 名前の通りtopのごとく使える

# iotop
Total DISK READ :       0.00 B/s | Total DISK WRITE :     389.38 K/s
Actual DISK READ:       0.00 B/s | Actual DISK WRITE:     462.63 K/s
  TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN     IO>    COMMAND                                                                                      
 1526 be/4 mysql       0.00 B/s  370.11 K/s  0.00 %  0.92 % mysqld --basedir=/usr --datadir=/var/lib/mysql ~--socket=/var/run/mysqld/mysqld.sock --port=3306
 1508 be/4 mysql       0.00 B/s    0.00 B/s  0.00 %  0.84 % mysqld --basedir=/usr --datadir=/var/lib/mysql ~--socket=/var/run/mysqld/mysqld.sock --port=3306
  268 be/3 root        0.00 B/s    7.71 K/s  0.00 %  0.43 % [jbd2/sda1-8]
17918 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.12 % [kworker/u8:1]
 1524 be/4 mysql       0.00 B/s    3.86 K/s  0.00 %  0.00 % mysqld --basedir=/usr --datadir=/var/lib/mysql ~--socket=/var/run/mysqld/mysqld.sock --port=3306

なければインストールが必要

apt install iotop # ubuntu
yum install iotop # centos

dstatコマンドの場合

dstatコマンドで--top-bio オプションを付けるとIO負荷の高いプロセスをリアルタイムで出してくれる

# dstat --top-bio -a
----most-expensive---- ----total-cpu-usage---- -dsk/total- -net/total- ---paging-- ---system--
  block i/o process   |usr sys idl wai hiq siq| read  writ| recv  send|  in   out | int   csw 
init         26k  199k|  4   1  80  15   0   0|  40k  289k|   0     0 |   8B   29B| 394   824 
rake get:ms   0    36k|  3   1   0  96   0   0|   0   120k| 688B 1514B|   0     0 | 328   493 
rake get:pa   0  8192B|  8   1   0  91   0   0|   0     0 |  40k 2322B|   0     0 | 368   495 
rake get:pa   0    44k|  1   1   0  98   0   0|  16k  204k|6350B 1739B|   0     0 | 247   476 
mysqld        0   420k|  8   1   0  91   0   0|   0   496k|  43k 1507B|   0     0 | 401   609 
rake get:ni   0    44k|  1   0   0  99   0   0|   0   124k|6377B 2115B|   0     0 | 206   369 
mysqld        0   132k|  8   1   0  91   0   0|   0   204k|  40k 1359B|   0     0 | 350   526 
mysqld       16k   40k|  2   0   0  98   0   0|  16k  272k|3581B 1259B|   0     0 | 302   584 
mysqld        0   516k|  7   0   0  93   0   0|   0   596k|  38k 2209B|   0     0 | 319   531