一、安装iostat
1.在线安装
在线安装即使用yum源安装
首先使用provides 命令查看iostat位于那个安装包下
yum provides iostat
yum -y install sysstat-10.1.5-19.el7.x86_64
2.离线安装
部分要求严格的环境没有配置yum源,可以使用离线安装包的方式;
首先解决linux的安装镜像,打开Packages目录
找到里面的sysstat文件
上传到服务器,使用rpm -ivh命令安装
rpm -ivh sysstat-10.1.5-19.el7.x86_64.rpm
如果出现缺少依赖项,请重复从iso镜像中找到依赖性再安装。
二、iostat信息详解
不带参数执行iostat命令
1.第一部分:系统信息
第一部分显示的是系统版本、主机名、当前日期、cpu架构和cpu核数
以上信息为
系统版本为Linux 3.10.0-1160.el7.x86_64
主机名为danji
时间为2024年10月25日
cpu架构为_x86_64_
cpu核数为4核
2.第二部分:总体信息
(1)%user
%user表示CPU在用户空间进程执行进程的时间百分比。
其中用户空间进程,也有称为用户进程,也有称为用户态等,与之对应的是内核空间进程,也可以认为是内核进程;
用户空间进程,是在用户模式下运行的进程,本质是通过系统调用与内核交互,无法直接访问硬件资源或内核内存。例如普通应用程序,如文本编辑器、网络浏览器、编译器等。
内核空间进程:在内核模式下运行的进程,本质是可以直接访问硬件资源和内核内存,通常是操作系统核心功能的特殊进程。例如进程调度程序、设备驱动程序和文件系统。
%user 值与其他 iostat 指标结合使用,可以帮助分析 CPU 使用情况并识别潜在的性能问题。需要注意的是,%user 不包括 I/O 等待时间,因此当 I/O 密集型进程正在运行时,它可能低估 CPU 利用率。
高 %user 值(> 70%):表明用户空间进程正在充分利用 CPU 资源。这可能是正常情况,但如果持续过高,则可能表明系统负载过重。
低 %user 值(< 20%):可能表明 CPU 没有被充分利用,可能是由于 I/O 等待或其他系统瓶颈。
(2)%nice
%nice表示CPU在用户态模式下,用于nice操作,所占用CPU总时间的百分比。
nice 进程是指其优先级被降低的进程。这意味着 nice 进程将比普通进程(用户空间进程)获得更少的 CPU 时间。
高 %nice 值(> 20%):可能表明系统中有大量 nice 进程正在运行,这可能会影响其他进程的性能。
低 %nice 值(< 5%):可能表明系统中没有多少 nice 进程正在运行,或者 nice 进程正在获得与普通进程类似的 CPU 时间。
在 Linux 中,优先级数值的范围从 -20 到 19。-20 是最高的优先级,19 是最低的优先级。
使用nice命令可以减低进程的优先级
disql的优先级降为了10。
可以通过ps -eo看查看寻找nice进程
ps -eo pid,user,args,nice | grep dmdba
ps -eo的可使用参数如下
ps -eo pid,user,group,pcpu,pmem,vsz,rss,stat,start,time,args,nice | grep dmdba
(3)%system
%system:CPU处在内核态执行进程的时间百分比。表示系统在处理 I/O 请求时所花费的时间百分比。
高 %system 值表示系统在处理 I/O 请求方面遇到了瓶颈。这可能导致应用程序性能下降和其他问题。
(4)%iowait
%iowait:CPU用于等待I/O操作占用CPU总时间的百分比。
一般来说,当 iowait 超过 10% 时,就认为存在 I/O 瓶颈。但是,这个阈值可能会根据系统负载和应用程序要求而有所不同。
升级或添加更多磁盘驱动器以消除磁盘 I/O 瓶颈。
优化网络连接以消除网络 I/O 瓶颈。
调整 I/O 调度程序以提高 I/O 请求处理效率。
减少系统负载,例如通过减少并发进程或任务。
通常情况下%system 和 %iowait 之间的关系通常是正相关的,这意味着当一个值较高时,另一个值也往往较高。
(5)%steal
%steal:管理程序(hypervisor)为另一个虚拟进程提供服务而等待虚拟CPU的百分比。
在虚拟化环境中,多个虚拟机共享同一台物理机的资源,包括 CPU 时间。当一个虚拟机使用过多的 CPU 时间时,它可能会从其他虚拟机窃取 CPU 时间。这会导致其他虚拟机性能下降。
%steal 的值通常很低(<5%),表明 CPU 时间窃取对系统性能没有重大影响。但是,如果 %steal 值较高,则可能表明存在虚拟化开销或进程抢占问题。
高 %steal 值的影响:
虚拟化环境: 高 %steal 值可导致虚拟机性能下降,因为虚拟机无法获得所需的 CPU 时间。
非虚拟化环境: 高 %steal 值可导致低优先级进程性能下降,因为它们无法获得所需的 CPU 时间。
(6)%idle
%idle:CPU空闲时间百分比。
高的 %idle 值(>80%)通常表示系统未充分利用,而 CPU 有大量空闲时间。低的 %idle 值(<20%)可能表示系统繁忙,CPU 接近满负荷。
3.第三部分:
Device:设备名
tps:该设备每秒的传输次数
kB_read/s:每秒从设备(drive expressed)读取的数据量;
kB_wrtn/s:每秒向设备(drive expressed)写入的数据量;
kB_read: 读取的总数据量;
kB_wrtn:写入的总数量数据量;
(1)device类型
在device中有以下几种情况:
物理硬盘:SCSI 磁盘设备名称通常以 /dev/sd 开头,后面跟一个数字,例如 /dev/sda。
IDE 磁盘设备名称通常以 /dev/hd 开头,后面跟一个数字,例如 /dev/hda
查看物理硬盘属于目录使用命令lsblk
RAID 设备:设备名称通常以 /dev/md 开头,后面跟一个数字,例如 /dev/md0。
Device 列中有前缀 md
LVM 逻辑卷:设备名称通常以 /dev/mapper 开头,后面跟 LVM 卷组和逻辑卷的名称,例如 /dev/mapper/vg00-lv00。
Device 列中有前缀 dm。示例中有dm-0与dm-1两个lvm卷
可以使用命令ll /dev/mapper/来查看分别使用什么卷组。
(2)硬盘的最大io速度
可以使用hdparm -t /dev/sda命令或者dd if=/dev/zero of=test bs=32k count=20k的命令看查看io的最大速度,通常使用 dd命令时会使用dsync参数将在后台测量 I/O 速度。oflag=dsync表示写入文件时,采用同步方式
三、iostat参数详解
iostat的用法: iostat [ 选项 ] [ <时间间隔> [ <次数> ] ]
-c:显示cpu使用,不推荐使用,因为不显示磁盘使用情况。
-d:显示磁盘使用情况,不推荐使用,因为不显示cpu。
-h 以可读格式打印大小。
-k 以 KB 为单位显示
-m 以 MB 为单位显示
-N 显示磁盘阵列(LVM) 信息
-t 打印时间戳
-V查看版本
-x显示详细信息
列 | 说明 |
---|
Device | 设备名称 |
rrqm/s | 每秒发出读请求的次数 |
wrqm/s | 每秒发出写请求的次数 |
r/s | 每秒完成的读请求数 |
w/s | 每秒完成的写请求数 |
rKB/s | 每秒读数据的千字节数 |
wKB/s | 每秒写数据的千字节数 |
avgrq-sz | 平均请求大小(以扇区为单位) |
avgqu-sz | 平均队列长度 |
await | 平均等待时间(以毫秒为单位) |
r_await | 平均读等待时间(以毫秒为单位) |
w_await | 平均写等待时间(以毫秒为单位) |
svctm | 平均服务时间(以毫秒为单位) |
%util | 设备利用率(以百分比为单位) |
-y -d 显示特指定的硬盘
总结
参数 | *功能 |
---|
-c | 显示cpu使用 |
-d | 显示磁盘使用情况 |
-h | 以可读格式打印大小 |
-k | 以 KB 为单位显示 |
-m | 以 MB 为单位显示 |
-N | 显示磁盘阵列(LVM) 信息 |
-t | 打印时间戳 |
-V | 查看版本 |
-x | 显示详细信息 |
-y -d | 显示特指定的硬盘 |
推荐命令:iostat -xmt 5 10
每5秒收集一次,共收集10次,使用mb作为单位,显示详细信息与时间戳。
当没有第三个参数例如:iostat -xmt 5 将会一直不断的每隔5秒收集一次io使用情况
推荐本站淘宝优惠价购买喜欢的宝贝:
本文链接:https://hqyman.cn/post/8883.html 非本站原创文章欢迎转载,原创文章需保留本站地址!
打赏微信支付宝扫一扫,打赏作者吧~
休息一下~~