Linux之监控磁盘IO

//安装sysstat
yum install sysstat
// 查看某进程pid的线程io信息
pidstat -d -t -p 6625

05:01:15 PM      TGID       TID   kB_rd/s   kB_wr/s kB_ccwr/s  Command
05:01:15 PM      6625         -      0.01      0.24      0.00  java
05:01:15 PM         -      6625      0.00      0.00      0.00  |__java
05:01:15 PM         -      6626      0.00      0.00      0.00  |__java
05:01:15 PM         -      6627      0.00      0.00      0.00  |__java
05:01:15 PM         -      6628      0.00      0.00      0.00  |__java
05:01:15 PM         -      6629      0.00      0.00      0.00  |__java
05:01:15 PM         -      6630      0.00      0.00      0.00  |__java
05:01:15 PM         -      6631      0.00      0.00      0.00  |__java
05:01:15 PM         -      6632      0.00      0.00      0.00  |__java
05:01:15 PM         -      6633      0.00      0.00      0.00  |__java
05:01:15 PM         -      6634      0.00      0.00      0.00  |__java
// 输出信息
TGID: 线程组id
TID: 线程id
kB_rd/s: 磁盘读取速率
kB_wr/s: 磁盘写入速率
kB_cowr/s: 取消磁盘写入速率,主要是为了减少脏页面缓存时会发生
Command: 命令或应用名称
除此外,通过iostat可以查看linux总的io信息:
iostat 
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.09    0.01    0.07    0.12    0.00   99.72

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda               0.49         0.22         4.66    1317196   27881143
dm-0              0.66         0.22         4.65    1308401   27832024
dm-1              0.00         0.00         0.00       1220        908
同样对于java应用,我们可以通过pidstat先查看io异常的线程tid,再通过jstack分析栈,定位代码即可。

你可能感兴趣的:(linux,监控,磁盘IO)