Centos7 查看磁盘i/o, 定位占用i/o读写高的进程

 

 

概要:

iostat 主要用于输出磁盘IO 和 CPU的统计信息。

iostat属于sysstat软件包。可以用yum install sysstat 直接安装。

1、iostat 用法

用法:iostat [选项] [<时间间隔>] [<次数>]

命令参数:
-c: 显示CPU使用情况
-d: 显示磁盘使用情况
-N: 显示磁盘阵列(LVM) 信息
-n: 显示NFS 使用情况
-k: 以 KB 为单位显示
-m: 以 M 为单位显示
-t: 报告每秒向终端读取和写入的字符数和CPU的信息
-V: 显示版本信息
-x: 显示详细信息
-p:[磁盘] 显示磁盘和分区的情况
 

2、先用iostat查看磁盘io 是否读写负载很高

iostat -d -m -x 1 10, 查看TPS和吞吐量信息

[root@app01 ~]# iostat -d -m -x 1 10
Linux 3.10.0-1160.15.2.el7.x86_64 (app01)       2022年08月02日  _x86_64_        (4 CPU)

Device:         rrqm/s   wrqm/s     r/s     w/s    rMB/s    wMB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
fd0               0.00     0.00    0.00    0.00     0.00     0.00     8.00     0.00   41.50   41.50    0.00  41.50   0.00
sdb               0.00     0.03    0.31    0.34     0.01     0.01    64.67     0.02   27.73   56.85    1.22   0.16   0.01
sda               0.00     0.01    0.02   15.26     0.00     0.08    10.46     0.01    0.49    5.92    0.48   0.25   0.38
dm-0              0.00     0.00    0.02   15.27     0.00     0.08    10.45     0.01    0.49    5.93    0.48   0.25   0.38
dm-1              0.00     0.00    0.00    0.00     0.00     0.00    47.27     0.00    0.49    0.49    0.00   0.39   0.00
dm-2              0.00     0.00    0.00    0.00     0.00     0.00    46.40     0.00    6.53    6.53    0.00   2.36   0.00
dm-3              0.00     0.00    0.31    0.37     0.01     0.01    61.42     0.02   27.32   56.93    2.27   0.15   0.01
 

如果%util接近100%,表明I/O请求太多,I/O系统已经满负荷,磁盘可能存在瓶颈,一般%util大于70%,I/O压力就比较大,读取速度有较多的wait,然后再看其他的参数。

rrqm/s:每秒进行merge的读操作数目。即delta(rmerge)/s
wrqm/s:每秒进行merge的写操作数目。即delta(wmerge)/s
r/s:每秒完成的读I/O设备次数。即delta(rio)/s
w/s:每秒完成的写I/0设备次数。即delta(wio)/s
rsec/s:每秒读扇区数。即delta(rsect)/s
wsec/s:每秒写扇区数。即delta(wsect)/s
rKB/s:每秒读K字节数。是rsec/s的一半,因为每扇区大小为512字节

wKB/s:每秒写K字节数。是wsec/s的一半
avgrq-sz:平均每次设备I/O操作的数据大小(扇区)。即delta(rsect+wsect)/delta(rio+wio)
avgqu-sz:平均I/O队列长度。即delta(aveq)/s/1000(因为aveq的单位为毫秒)
await:平均每次设备I/O操作的等待时间(毫秒)。即delta(ruse+wuse)/delta(rio+wio)
svctm:平均每次设备I/O操作的服务时间(毫秒)。即delta(use)/delta(rio+wio)
%util:一秒中有百分之多少的时间用于I/O操作,或者说一秒中有多少时间I/O队列是非空的
 

iostat -c 1 2
查看cpu状态
间隔1秒显示一次,总共显示2次

3、找出使用io高的进程的工具 iotop

yum install iotop -y
[root@app01 ~]# iotop
 

 

4、lsof查看端口占用情况

需要安装 :yum -y install lsof

lsof -i 列出占用端口情况
lsof -i:80 查看80端口情况
from:https://blog.csdn.net/lihongbao80/article/details/126118191
posted @ 2022-12-12 14:21  海_纳百川  阅读(1111)  评论(0编辑  收藏  举报
本站总访问量