一、iotop
安装:yum -y install iotop
二、iostat
系统默认安装,手动安装:yum -y install sysstat
常用格式 iostat -xm 1
---------------------------------------------------------------------------
iostat用于输出CPU和磁盘输入输出、分区、网络文件系统NFS相关的统计信息。iostat命令用于监控系统设备的输入/输出情况,并生成报告,以便根据统计报告修改系统配置,获取更优的性能。
iostat可以产生三种类型的报告:CPU利用情况报告、设备利用情况报告、网络文件系统利用情况报告。
iostat命令格式可概述为:
iostat[参数][时间][次数]
其中,时间以秒为单位。
1、iostat 命令的简单使用
iostat 命令可以显示 CPU 和 I/O 系统的负载情况及分区状态信息。
# iostat
# iostat -xm 1
(带 xm 参数显示扩展信息并将磁盘数据有每扇区改为每兆显示;后面数字1是1秒统计一次)
各项输出项目的含义如下:
1)avg-cpu段:
%user:在用户级别运行所使用 CPU 的百分比。
%nice:nice操作所使用 CPU 的百分比。
%system:在系统级别(kernel)运行所使用 CPU 的百分比。
%iowait:CPU等待硬件 I/O 时,所占用 CPU 百分比。
%steal:管理程序维护另一个虚拟处理器时,虚拟CPU的无意识等待时间百分比。
%idle:CPU 空闲时间的百分比。
Device段:
tps:设备每秒的 I/O 请求数,多个逻辑请求可能会被合并为“一次I/O请求”。
Blk_read/s:每秒读取的 block 数
Blk_wrtn/s:每秒写入的 block 数
Blk_read:读入的 block 总数
Blk_wrtn:写入的 block 总数
wrqm/s 将写入请求合并后,每秒发送到设备的写入请求数。
扩展信息段:
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队列是非空的。即delta(usr)/s/1000(因为use的单位为毫秒)
如果%util接近100%,表明I/O请求太多,I/O系统已经满负荷,磁盘可能存在瓶颈,一般%util大于70%,I/O压力就比较大.
2、iostat命令的参数说明
-c 仅显示 CPU 统计信息。与 -d 选项互斥。
-d 仅显示磁盘统计信息。与 -c 选项互斥。
-k 以 KB为单位显示每秒的磁盘请求数,默认单位块。
-m 以MB为单位显示每秒的磁盘请求数。
-N 显示磁盘阵列信息
-n 显示网络文件系统NFS报告。此选项仅适用于Linux内核2.6.17以上版本。
-p device | ALL
与 -x 选项互斥,用于显示块设备及系统分区的统计信息,也可以在 -p 后指定一个设备名,如:
# iostat -p hda
或显示所有设备:
# iostat -p ALL
-t 在输出数据时,打印收集数据的时间。
-V 打印版本号和帮助信息。
-x 输出扩展信息。