Linux服务器CPU和IO的监控利器-iostat简介
目录
一.下载方式
1.1Debian和Ubuntu系统的的下载方式
1.2Centos,RHEL和Fedoar系统的下载方式
二.基本用法说明
三.范例
3.1显示所有设备的负载情况
3.2每隔4秒显示所有设备的负载情况
3.2.1定时不定次显示所有信息
3.2.2定时定次显示所有信息
3.3显示磁盘拓展的I/O信息
四.补充介绍
4.1 iostat的优点
4.2 iostat的缺点
一.下载方式
1.1Debian和Ubuntu系统的的下载方式
sudo apt-get install sysstat
1.2Centos,RHEL和Fedoar系统的下载方式
sudo yum install sysstat
二.基本用法说明
iostat的基本用法如下:
iostat [options] [devices] [interval] [count]
options:修改命令行为或指定要显示的信息类型的标志。
devices:要显示其 I/O 统计信息的设备。默认情况下,iostat 显示当前设备所有的统计信息。
interval:更新之间的时间间隔(以秒为单位)。默认情况下,iostat 只显示一次信息
count:显示的更新次数。默认情况下,如果指定了更新间隔时间,iostat 一直运行直至手动停止更新。
三.范例
3.1显示所有设备的负载情况
显示设备使用情况直接使用下面命令:
iostat
负载查询结果如下图所示
下方是avg-cpu的属性值具体解释:
%user:CPU处在用户模式下的时间百分比。
%nice:CPU处在带NICE值的用户模式下的时间百分比。
%system:CPU处在系统模式下的时间百分比。
%iowait:CPU等待输入输出完成时间的百分比。如果此值过高,证明硬盘存在I/O瓶颈。
%steal:管理程序维护另一个虚拟处理器时,虚拟CPU的无意识等待时间百分比。
%idle:CPU空闲时间百分比。如果此值过高但是系统响应过慢时候,可能是CPU等待分配内存,需要按需加大内存容量。
下面是Device的属性值的具体解释:
tps:该设备每秒的传输次数
kB_read/s:每秒从设备(drive expressed)读取的数据量;
kB_wrtn/s:每秒向设备(drive expressed)写入的数据量;
kB_read: 读取的总数据量;
kB_wrtn:写入的总数量数据量;
3.2每隔4秒显示所有设备的负载情况
3.2.1定时不定次显示所有信息
iostat 2
该命令会每隔2秒中就会显示所有的信息且会一直更新,如下图所示:
3.2.2定时定次显示所有信息
iostat 5 3
这个命令则是每隔5秒就会显示一次更新信息,总共显示3次。如下图所示:
3.3显示磁盘拓展的I/O信息
iostat -x
此命令是显示磁盘拓展的I/O信息,信息较为具体,如下图所示。
下面是各个参数的介绍:
r/s: 每秒完成的读请求数。
rkB/s: 每秒从设备读取的千字节数(KB)。
rrqm/s: 每秒合并的读请求数(通过设备的读请求队列合并以减少实际读操作次数)。合并的请求在磁盘上可能以单个请求的形式被处理。
%rrqm: 合并的读请求占总读请求的百分比。
r_await: 读取请求的平均等待时间(毫秒),包括在队列中的时间和服务时间。
rareq-sz: 平均每次读请求的大小(以扇区为单位)。
w/s: 每秒完成的写请求数。
wkB/s: 每秒写入设备的千字节数(KB)。
wrqm/s: 每秒合并的写请求数。
%wrqm: 合并的写请求占总写请求的百分比。
w_await: 写入请求的平均等待时间(毫秒)。
wareq-sz: 平均每次写请求的大小(以扇区为单位)。
d/s: 每秒处理的设备传输(如磁盘块传输)。
dkB/s: 每秒通过设备传输的千字节数(KB)。
drqm/s: 每秒合并的设备传输请求数。
%drqm: 合并的设备传输请求占总设备传输请求的百分比。
d_await: 设备传输的平均等待时间(毫秒)。
dareq-sz: 平均每次设备传输的大小(以扇区为单位)。
f/s: 每秒完成的文件系统操作数(如打开、关闭、读取等)。
f_await: 文件系统操作的平均等待时间(毫秒)。
aqu-sz: 队列的平均长度,即等待处理的请求数量。
%util: 设备的忙碌时间百分比。这个值表示设备在采样周期内忙于处理 I/O 请求的时间比例。
四.补充介绍
4.1 iostat的优点
iostat 是一个功能强大的系统监控工具,它能够实时显示系统的 I/O 性能统计信息,包括磁盘的读写速度、每秒的 I/O 操作次数以及设备的平均请求大小等关键指标。通过提供丰富的命令行选项,iostat 允许用户灵活选择并展示所需的内容,比如 CPU 使用情况和详细的磁盘设备统计信息。这一特性使得 iostat 在多种场景下都极具价值,无论是数据库性能调优、文件服务器性能评估还是虚拟化环境性能监控,它都能发挥重要作用。通过深入分析 iostat 提供的数据,用户可以迅速识别并定位系统的性能瓶颈,进而采取针对性的优化措施,以提升系统的整体性能和响应速度。
4.2 iostat的缺点
iostat 主要侧重于系统整体的 I/O 性能分析,而非深入至特定进程的层面。它提供的统计信息多为一段时间内的平均值,因此可能难以精确捕捉系统性能的瞬时峰值或特定进程的详细 I/O 使用情况。为了更全面地了解系统性能或特定进程的 I/O 行为,用户可能需要结合其他工具(如 iotop)进行综合分析。