A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
-bash/zsh: iostat: command not found #Debian apt-get install sysstat #Ubuntu apt-get install sysstat #Alpine apk add sysstat #Arch Linux pacman -S sysstat #Kali Linux apt-get install sysstat #CentOS yum install sysstat #Fedora dnf install sysstat #Raspbian apt-get install sysstat #Docker docker run cmd.cat/iostat iostat
iostat 命令被用于监视系统输入输出设备和 CPU 的使用情况。它的特点是汇报磁盘活动统计情况,同时也会汇报出 CPU 使用情况。同 vmstat 一样,iostat 也有一个弱点,就是它不能对某个进程进行深入分析,仅对系统的整体情况进行分析。
iostat [ -c ] [ -d ] [ -h ] [ -N ] [ -k | -m ] [ -t ] [ -V ] [ -x ] [ -z ] [ [ [ -T ] -g group_name ] { device [...] | ALL } ] [ -p [ device [,...] | ALL ] ] [ interval [ count ] ]
-c:仅显示CPU使用情况; -d:仅显示设备利用率; -k:显示状态以千字节每秒为单位,而不使用块每秒; -m:显示状态以兆字节每秒为单位; -p:仅显示块设备和所有被使用的其他分区的状态; -t:显示每个报告产生时的时间; -V:显示版号并退出; -x:显示扩展状态。
间隔时间:每次报告的间隔时间(秒); 次数: 显示报告的次数。
用 iostat -x /dev/sda1
来观看磁盘 I/O 的详细情况:
$ iostat -x /dev/vdb1 Linux 3.10.0-957.10.1.el7.x86_64 (TestMaster) 05/05/2019 _x86_64_ (4 CPU) avg-cpu: %user %nice %system %iowait %steal %idle 0.97 1.97 0.20 0.01 0.09 96.77 Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util vdb1 0.00 0.07 0.09 0.11 9.98 33.57 441.25 0.02 113.85 23.12 185.12 1.91 0.04
iostat 详细说明:第二行是系统信息和监测时间,第三行和第四行显示CPU使用情况(具体内容和 mpstat 命令相同)。这里主要关注后面 I/O 输出的信息,如下所示:
标示 | 说明 |
---|---|
Device | 监测设备名称 |
rrqm/s | 每秒需要读取需求的数量 |
wrqm/s | 每秒需要写入需求的数量 |
r/s | 每秒实际读取需求的数量 |
w/s | 每秒实际写入需求的数量 |
rsec/s | 每秒读取区段的数量 |
wsec/s | 每秒写入区段的数量 |
rkB/s | 每秒实际读取的大小,单位为KB |
wkB/s | 每秒实际写入的大小,单位为KB |
avgrq-sz | 需求的平均大小区段 |
avgqu-sz | 需求的平均队列长度 |
await | 等待I/O平均的时间(milliseconds) |
svctm | I/O需求完成的平均时间 |
%util | 被I/O需求消耗的CPU百分比 |