linux实时检测系统IO负载-------iostat命令

来源:互联网 发布:python 使用多个def的 编辑:程序博客网 时间:2024/06/05 16:02

简介

iostat主要用于监控系统设备的IO负载情况,iostat首次运行时显示自系统启动开始的各项统计信息,之后运行iostat将显示自上次运行该命令以后的统计信息。用户可以通过指定统计的次数和时间来获得所需的统计信息。

通过iostat方便查看CPU、网卡、tty设备、磁盘、CD-ROM 等等设备的活动情况, 负载信息。

参数

-C 显示CPU使用情况-d 显示磁盘使用情况-k 以 KB 为单位显示-m 以 M 为单位显示-N 显示磁盘阵列(LVM) 信息-n 显示NFS 使用情况-p[磁盘] 显示磁盘和分区的情况-t 显示终端和CPU的信息-x 显示详细信息-V 显示版本信息

输出属性说明

cpu属性值说明:

%user:CPU处在用户模式下的时间百分比。%nice:CPU处在带NICE值的用户模式下的时间百分比。%system:CPU处在系统模式下的时间百分比。%iowait:CPU等待输入输出完成时间的百分比。%steal:管理程序维护另一个虚拟处理器时,虚拟CPU的无意识等待时间百分比。%idle:CPU空闲时间百分比。

备注:如果%iowait的值过高,表示硬盘存在I/O瓶颈,%idle值高,表示CPU较空闲,如果%idle值高但系统响应慢时,有可能是CPU等待分配内存,此时应加大内存容量。%idle值如果持续低于10,那么系统的CPU处理能力相对较低,表明系统中最需要解决的资源是CPU。

disk属性值说明:

rrqm/s:  每秒进行 merge 的读操作数目。即 rmerge/swrqm/s:  每秒进行 merge 的写操作数目。即 wmerge/sr/s:  每秒完成的读 I/O 设备次数。即 rio/sw/s:  每秒完成的写 I/O 设备次数。即 wio/srsec/s:  每秒读扇区数。即 rsect/swsec/s:  每秒写扇区数。即 wsect/srkB/s:  每秒读K字节数。是 rsect/s 的一半,因为每扇区大小为512字节。wkB/s:  每秒写K字节数。是 wsect/s 的一半。avgrq-sz:  平均每次设备I/O操作的数据大小 (扇区)。avgqu-sz:  平均I/O队列长度。await:  平均每次设备I/O操作的等待时间 (毫秒)。svctm: 平均每次设备I/O操作的服务时间 (毫秒)。%util:  一秒中有百分之多少的时间用于 I/O 操作,即被io消耗的cpu百分比

备注:如果 %util 接近 100%,说明产生的I/O请求太多,I/O系统已经满负荷,该磁盘可能存在瓶颈。如果 svctm 比较接近 await,说明 I/O 几乎没有等待时间;如果 await 远大于 svctm,说明I/O 队列太长,io响应太慢,则需要进行必要优化。如果avgqu-sz比较大,也表示有当量io在等待

使用实例

iostat -x -d sda1 1 |tee io_log

参考文章:https://www.cnblogs.com/peida/archive/2012/12/28/2837345.html
参考文章:https://www.cnblogs.com/ggjucheng/archive/2013/01/13/2858810.htm