centos8平台使用iostat监控磁盘io
一,iostat所属的包:
[root@centos8 ~]# whereis iostat iostat: /usr/bin/iostat /usr/share/man/man1/iostat.1.gz [root@centos8 ~]# rpm -qf /usr/bin/iostat sysstat-11.7.3-2.el8.x86_64
iostat命令默认已经内置在系统中,如果找不到,
可以用yum安装:
[root@blog ~]# yum install sysstat
说明:刘宏缔的架构森林是一个专注架构的博客,地址:https://www.cnblogs.com/architectforest
对应的源码可以访问这里获取: https://github.com/liuhongdi/
说明:作者:刘宏缔 邮箱: 371125307@qq.com
二,查看iostat的版本和帮助
1,查看版本
[root@centos8 ~]# iostat -V sysstat 版本 11.7.3
2,查看帮助
[root@centos8 ~]# man iostat
三,iostat的用途:
iostat 是最常用的磁盘 I/O 性能观测工具,它提供了每个磁盘的使用率、IOPS、吞吐量等各种常见的性能指标,
当然,这些指标实际上来自 /proc/diskstats
四,参数说明:
1,用法:iostat [ 选项 ] [ <时间间隔> [ <次数> ]]
2,参数:
-c:只显示系统CPU统计信息,即单独输出avg-cpu结果,不包括device结果
-d:单独输出Device结果,不包括cpu结果
-x:表示显示扩展统计
五,例子一:显示磁盘的完整的I/O指标
1,每秒统计一次
# -d表示只显示磁盘I/O性能指标
# -x表示显示扩展统计(即所有I/O指标)
[root@centos8 ~]# iostat -x -d 1 Linux 4.18.0-147.5.1.el8_1.x86_64 (centos8) 2020年04月03日 _x86_64_ (2 CPU) Device r/s w/s rkB/s wkB/s rrqm/s wrqm/s %rrqm %wrqm r_await w_await aqu-sz rareq-sz wareq-sz svctm %util sda 1.14 3.37 85.32 1752.17 0.01 0.14 0.61 3.87 1.38 9.60 0.03 74.76 519.91 0.64 0.29 scd0 0.00 0.00 0.07 0.00 0.00 0.00 0.00 0.00 1.16 0.00 0.00 28.65 0.00 1.14 0.00 dm-0 0.98 2.22 75.38 1717.20 0.00 0.00 0.00 0.00 1.29 16.56 0.04 76.61 774.24 0.58 0.18 dm-1 0.01 0.05 0.17 0.22 0.00 0.00 0.00 0.00 9.03 29.39 0.00 12.92 4.00 0.35 0.00 dm-2 0.13 1.23 7.39 34.75 0.00 0.00 0.00 0.00 1.51 0.62 0.00 56.56 28.18 0.78 0.11
2,iostat输出各字段的含义:
Device:设备
r/s :每秒的读请求数
w/s :每秒的写请求数
rkB/s:每秒读取的数据量(单位kB)
wkB/s:每秒写入的数据量(单位kB)
rrqm/s:每秒读请求的合并次数
wrqm/s:每秒写请求的合并次数
%rrqm:读请求在合并后占合并前的百分比:
(The percentage of read requests merged together before being sent to the device)
%wrqm:写请求在合并后占合并前的百分比:
(The percentage of write requests merged together before being sent to the device)
r_await:读请求完成的等待时间,单位毫秒
w_await:写请求完成的等待时间,单位毫秒
aqu-sz:平均请求队列长度
rareq-sz:平均读请求的大小
wareq-sz:平均写请求的大小
svctm:处理i/o请求所需的平均时间,不包括等待时间
%util : 磁盘处理i/o的时间百分比,就是磁盘 I/O 使用率
附加说明:
r/s+ w/s ,就是 IOPS;
rkB/s+wkB/s ,就是吞吐量;
r_await+w_await ,就是响应时间
生产环境中注意:
磁盘的%util 如果很高接近100%,代表已经接近 I/O 饱和,
说明:I/O系统已经满负荷,该磁盘 可能存在瓶颈。
aqu-sz请求队列过高则会带来响应时间会更慢
六,例子二:只查看cpu信息状态,每秒采集1次,共采集10次
1,命令格式:
[root@centos8 ~]# iostat -c 1 10 Linux 4.18.0-147.5.1.el8_1.x86_64 (centos8) 2020年04月03日 _x86_64_ (2 CPU) avg-cpu: %user %nice %system %iowait %steal %idle 4.54 0.02 1.32 0.35 0.00 93.76
2,输出字段含义的说明:
%user:CPU处在用户模式下的时间百分比。
%nice:CPU处在带NICE值的用户模式下的时间百分比。
%system:CPU处在系统模式下的时间百分比。
%iowait:CPU等待输入输出完成时间的百分比。
%steal:管理程序维护另一个虚拟处理器时,虚拟CPU的无意识等待时间百分比。
%idle:CPU空闲时间百分比。
七,例子三:只查看磁盘的读写状态
1,命令格式:
[root@centos8 ~]# iostat -d Linux 4.18.0-147.5.1.el8_1.x86_64 (centos8) 2020年04月03日 _x86_64_ (2 CPU) Device tps kB_read/s kB_wrtn/s kB_read kB_wrtn sda 3.88 73.07 1500.72 1348131 27687825 scd0 0.00 0.06 0.00 1060 0 dm-0 2.76 64.56 1470.77 1191071 27135282 dm-1 0.06 0.14 0.19 2648 3420 dm-2 1.17 6.33 29.76 116743 549075
2,各输出字段的说明:
tps:该设备每秒的传输次数,
说明:多个逻辑请求可能会被合并为“一次I/O请求”
一次I/O请求即“一次传输”
kB_read/s:每秒从设备读取的数据量;
kB_wrtn/s:每秒向设备写入的数据量;
kB_read:读取的总数据量,单位都为Kilobytes;
kB_wrtn:写入的总数据量,单位都为Kilobytes;
八,-d 和 -d -x 的区别:
例:
iostat -d 1 10 #查看TPS和吞吐量信息
例:
iostat -d -x 1 10 #查看设备使用率(%util)、响应时间(await)
九,dm-0、 dm-1、dm-2 从何处来?
1,用lsblk查看
[root@centos8 mapper]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 120G 0 disk ├─sda1 8:1 0 1G 0 part /boot └─sda2 8:2 0 79G 0 part ├─cl-root 253:0 0 50G 0 lvm / ├─cl-swap 253:1 0 4G 0 lvm [SWAP] └─cl-home 253:2 0 25G 0 lvm /home sr0 11:0 1 6.7G 0 rom /run/media/liuhongdi/CentOS-8-BaseOS-x86_64
没有dm-0等
2,查看/dev/mapper目录
[root@centos8 mapper]# ll /dev/mapper/ 总用量 0 lrwxrwxrwx 1 root root 7 4月 3 12:48 cl-home -> ../dm-2 lrwxrwxrwx 1 root root 7 4月 3 12:48 cl-root -> ../dm-0 lrwxrwxrwx 1 root root 7 4月 3 12:48 cl-swap -> ../dm-1 crw------- 1 root root 10, 236 4月 3 12:48 control
找到了,其实它们是由lvm创建的逻辑卷组
十,查看centos的版本:
[root@centos8 ~]# cat /etc/redhat-release CentOS Linux release 8.1.1911 (Core)
相关文章
- uptimerobot 免费的服务监控平台
- 监控平台技术调研
- 基于djngo的运维监控平台
- LiveNVR监控流媒体Onvif/RTSP功能-RTSP/RTMP/HLS/HTTP-FLV视频文件流转成GB28181级联至海康宇视大华等第三方国标平台政务
- IT资源运维监控管理平台主要监控了什么?
- Jenkins 监控总结,不可错过这一篇!
- 基于 Prometheus、InfluxDB 与 Grafana 打造监控平台
- Prometheus监控规则说明
- Prometheus监控实战系列二十一:容量管理
- 视频监控传输设备_网络视频监控平台
- 深入了解 eBPF:一种监控和保护平台的新方法
- 视频监控平台GB28181:国标-注册(非鉴权)
- 视频监控平台GB28181:国标-注册(鉴权)
- 政府企业网络设备如何实时监控?-华汇数据IT运维监控平台
- WGCLOUD 监控案例详解 - 磁盘使用率告警是针对所有磁盘还是单块磁盘
- 蚁群算法应用到监控软件中之后都有什么作用
- 国标视频融合监控汇聚云平台的方案实现及场景应用
- 配置 Spring Cloud Data Flow 的监控和安全控制
- js来监控复制粘贴详解编程语言
- Spring Boot2.0之 监控管理详解编程语言
- Linux 监控磁盘IO:快速找出瓶颈(linux监控磁盘io)
- 探索Linux下监控端口使用情况(linux查看使用端口)
- MySQL监控神器:让您轻松管理数据库(mysql监测工具)
- Debian 9.3上安装和配置 Observium 监控平台
- Grafana 6.4.4 发布,系统指标监控与分析平台
- MongoDB状态监控:确保数据安全性(mongodb状态监控)
- MySQL 监控查询优化:实时改善数据库性能(mysql监控查询)
- SQL Server性能监控:实现高效运行(sqlserver监控项)
- 基于 Linux 的进程监控脚本编写(linux 进程监控脚本)
- Linux如何查看和监控磁盘IO情况?(linux 查看 io)
- 监控Redis队列的变化情况(监听redis队列)
- cxoracle实现数据库监控的不二之选(cx_oracle监控)
- Redis进入监控模式稳定性提升完善运维体系(redis进入监控模式)
- 可用于监控mysqlMasterSlave状态的python代码