Linux iostat 命令用法
# man iostat
NAME
iostat - Report Central Processing Unit (CPU) statistics and input/output statistics for devices and partitions.
报告CPU及输入、输出设备及分区的状态。
SYNOPSIS
iostat [ -c ] [ -d ] [ -h ] [ -k | -m ] [ -N ] [ -t ] [ -V ] [ -x ] [ -y ] [ -z ] [ -j { ID | LABEL | PATH | UUID | ... } ] [ [ -T ] -g group_name ] [ -p [ device [,...] | ALL ] ] [ device
[...] | ALL ] [ interval [ count ] ]
实例:
1、显示 CPU 及 I/O 设备相关信息(仅显示1次):
# iostat
2、每隔3秒钟显示一次 CPU 及 IO 设备相关信息,直到按 Ctrl+C 键终止。
# iostat 3
3、每隔3秒钟显示一次 CPU 及 IO 设备相关信息,显示2次后终止。
# iostat 3 2
4、显示 CPU 相关信息:
# iostat -c
参数释义:
%user:用户程序消耗 CPU 资源的百分比。
%nice:拥有最高优先级的用户程序,消耗 CPU 资源的百分比。
%system:系统进程消耗 CPU 资源的百分比。
%iowait:当硬盘有I/O请求等待时,空闲CPU的比例。
%steal:当CPU管理程序处理一个虚拟CPU,其它的一个或者一组虚拟CPU无意识的消耗等待,所消耗的比例。
%idle:当硬盘没有I/O请求时,空闲CPU的比例。
5、显示 I/O 设备信息:
# iostat -d # iostat -d vdb
参数释义:
tps(transfers per second):该设备每秒钟传输(I/O请求)的次数。
kB_read/s:每秒从设备(drive expressed)读取的数据量(Kilobytes);
kB_wrtn/s:每秒向设备(drive expressed)写入的数据量(Kilobytes);
kB_read:读取的总数据量(Kilobytes);
kB_wrtn:写入的总数量数据量(Kilobytes);
6、显示 I/O 设备及子设备信息:
# iostat -p # iostat -p vdb
7、显示 I/O 设备扩展信息。
# iostat -x # iostat -x vdb
参数释义:
rrqm/s:该设备每秒钟有多少读取请求被 Merge 处理。
wrqm/s:该设备每秒钟有多少写入请求被 Merge 处理。
当系统调用需要读取数据的时候,VFS将请求发到各个FS,如果FS发现不同的读取请求读取的是相同Block的数据,FS会将这个请求合并Merge
r/s:该设备每秒钟有多少读请求(Merge处理之后的)处理完成。
w/s:该设备每秒钟有多少写请求(Merge处理之后的)处理完成。
rsec/s (rkB/s, rMB/s): 该设备每秒钟读取的扇区数(B/KB/MB)。
rsec/s (rkB/s, rMB/s): 该设备每秒钟写入的扇区数(B/KB/MB)。
avgrq-sz:平均请求扇区的大小
avgqu-sz:是平均请求队列的长度。毫无疑问,队列长度越短越好。
await:每一个IO请求的处理的平均时间(单位是毫秒)。
这里可以理解为IO的响应时间,一般地系统IO响应时间应该低于5ms,如果大于10ms就比较大了。
这个时间包括了队列时间和服务时间,也就是说,一般情况下,await大于svctm,它们的差值越小,则说明队列时间越短,反之差值越大,队列时间越长,说明系统出了问题。
r_await:每一个读请求的处理的平均时间(单位是毫秒)。
w_await:每一个写请求的处理的平均时间(单位是毫秒)。
svctm:表示平均每次设备I/O操作的服务时间(以毫秒为单位)。
如果svctm的值与await很接近,表示几乎没有I/O等待,磁盘性能很好,如果await的值远高于svctm的值,则表示I/O队列等待太长,系统上运行的应用程序将变慢。
%util:在统计时间内所有处理IO时间,除以总共统计时间。
例如,如果统计间隔1秒,该设备有0.8秒在处理IO,而0.2秒闲置,那么该设备的%util = 0.8/1 = 80%,所以该参数暗示了设备的繁忙程度。
一般地,如果该参数是100%表示设备已经接近满负荷运行了(当然如果是多磁盘,即使%util是100%,因为磁盘的并发能力,所以磁盘使用未必就到了瓶颈)。
扩展:查询 iostat 查询到的 dm-* 所对应的设备:
# ls -l /dev/mapper/ total 0 crw-rw---- 1 root root 10, 58 May 18 06:47 control lrwxrwxrwx 1 root root 7 Jun 8 12:15 mpatha -> ../dm-2 lrwxrwxrwx 1 root root 7 May 18 06:47 vg_centos-lv_root -> ../dm-0 lrwxrwxrwx 1 root root 7 May 18 06:47 vg_centos-lv_swap -> ../dm-1
[THE END]
参考文档:https://www.cnblogs.com/ggjucheng/archive/2013/01/13/2858810.html