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.1 iostat的优点)

[4.2 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)进行综合分析。


文章正下方可以看到我的联系方式:鼠标"点击" 下面的 "威迪斯特-就是video system微信名片 "字样,就会出现我的二维码,欢迎沟通探讨。


相关推荐
looking_for__8 小时前
【Linux】应用层自定义协议与序列化
linux·服务器·网络
云中飞鸿8 小时前
VS编写QT程序,如何向linux中移植?
linux·开发语言·qt
唐梓航-求职中8 小时前
技术-算法-leetcode-1606. 找到处理最多请求的服务器(易懂版)
服务器·算法·leetcode
晚风_END8 小时前
Linux|操作系统|elasticdump的二进制方式部署
运维·服务器·开发语言·数据库·jenkins·数据库开发·数据库架构
嵌入小生0078 小时前
Standard IO -- Continuation of Core Function Interfaces (Embedded Linux)
linux·vim·嵌入式·标准io·vscode
Zach_yuan8 小时前
传输层之TCP/UDP 核心原理全解析:从协议基础到实战机制
linux·网络协议·tcp/ip·udp
独自归家的兔8 小时前
Ubuntu 系统 systemd timers 详解:替代 crontab 的定时任务进阶方案
linux·运维·ubuntu
Lsir10110_8 小时前
【Linux】深入解剖页表——分页式存储
linux·运维·服务器
victory04318 小时前
服务器病毒处理记录
运维·服务器·chrome
爱吃生蚝的于勒8 小时前
【Linux】线程概念(一)
java·linux·运维·服务器·开发语言·数据结构·vim