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)
centos8平台使用iostat监控磁盘io的更多相关文章
- centos8平台使用iotop监控磁盘io
一,iotop的作用: iotop是监视磁盘I/O使用状况的top类工具, 可以针对进程和线程统计io的使用情况 说明:刘宏缔的架构森林是一个专注架构的博客,地址:https://www.cnblog ...
- iostat监控磁盘io
1.安装#yum install sysstat 2.启动#/etc/init.d/sysstat start 3.自启动#checkfig sysstat 4.基本使用#iostat -k 2每两秒 ...
- Zabbix自动发现并监控磁盘IO、报警
本文转载自: https://www.93bok.com 引言 Zabbix并没有提供模板来监控磁盘的IO性能,所以我们需要自己来创建一个,由于一台服务器中磁盘众多,如果只有一两台可以手动添加,但服务 ...
- Zabbix 自动发现并监控磁盘IO、报警 引言
引言 Zabbix并没有提供模板来监控磁盘的IO性能,所以我们需要自己来创建一个,由于一台服务器中磁盘众多,如果只有一两台可以手动添加,但服务集群达到几十那就非常麻烦,因此需要利用自动发现这个功能,自 ...
- Cacti:添加监控磁盘IO
来自:http://blog.sina.com.cn/s/blog_61c07ac50101gkzp.html 1.检查net-snmp是否支持IO监控 snmpwalk -v 1 -c public ...
- Cacti添加IO模板并监控磁盘IO
1.下载Cacti_Net-SNMP_DevIO_v3.1.zip 下载Cacti_Net-SNMP_DevIO_v3.1.zip,解压并上传net-snmp_devio.xml到/resource/ ...
- 第七章——DMVs和DMFs(4)——用DMV和DMF监控磁盘IO
原文:第七章--DMVs和DMFs(4)--用DMV和DMF监控磁盘IO 前言: 本文为本系列最后一篇,作为DBA,你必须经常关注磁盘的I/O问题,一旦出现问题,要尽快分析出是什么问题.SQLServ ...
- zabbix应用之Low-level discovery监控磁盘IO
参考文章: http://qicheng0211.blog.51cto.com/3958621/1599776/ zabbix自带的"Template OS Linux"模板支持监 ...
- Zabbix 监控磁盘IO
Zabbix 监控磁盘IO 1.数据获取脚本 #!/bin/bash # resource: http://www.muck.net/19/getting-hard-disk-performance- ...
随机推荐
- [LeetCode] 203. 移除链表元素(链表基本操作-删除)、876. 链表的中间结点(链表基本操作-找中间结点)
题目 203. 移除链表元素 删除链表中等于给定值 val 的所有节点. 题解 删除结点:要注意虚拟头节点. 代码 class Solution { public ListNode removeEle ...
- [LeetCode] 79. 单词搜索(DFS,回溯)
题目 给定一个二维网格和一个单词,找出该单词是否存在于网格中. 单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中"相邻"单元格是那些水平相邻或垂直相邻的单元格.同一个单元格 ...
- [Java并发编程之美]第2章 synchroized关键字
###synchronized关键字 synchronized块是Java提供的一种原子性内置锁,每个对象都可以把它当同步锁来用.线程在进入synchronized块钱会自动获取内部锁,这时候其他线程 ...
- vue-element-admin改造接入后台,搭建有来商城youlai-mall前后端分离管理平台
一. 前言 本篇基于有来商城youlai-mall微服务项目搭建的后台前端管理平台,技术选型Vue+Element-UI实现前后端分离,解决方案选型vue-element-admin.希望通过本篇你可 ...
- 万字详解TDengine 2.0整体架构设计思路
导读:涛思数据8月3日将TDengine 的集群功能开源,TDengine具有超强的性能和功能,为什么能做到?它到底有哪些技术创新?今将TDengine的整体设计文档分享出来. 1: 数据模型 物联 ...
- Linux实战(15):Centos 防火墙常见端口命令
开启命令 firewall-cmd --zone=public --add-port=80/tcp --permanent 关闭命令 firewall-cmd --zone=public --remo ...
- PHP基础之面向对象篇
前言 前面写的都是运算符.流程控制.排序查找等,下面说一说面向对象的一些内容.这是前面写的,有兴趣可以去看一看. PHP入门之类型与运算符 PHP入门之流程控制 PHP入门之函数 PHP入门之数组 P ...
- 关于JSON的零碎小知识
1.ali的fastjson在将实体类转成jsonString的时候,一些首字母大写的字段会自动修改为小字母,这种字段加 @JsonProperty(value = "DL_id" ...
- 工作10年后,再看String s = new String("xyz") 创建了几个对象?
这个问题相信每个学习java的同学都不陌生,作为一个经典的面试题,到现在工作这么多年了我真是认为挺操蛋的一个问题,在网上到现在你仍然可以看见很多讨论这个问题的人,其中不乏工作很多年的人都有争论,我认为 ...
- 记一次"截图"功能的项目调研过程!
目录 项目需求 功能调研 AWT Swing Html2Image PhantomJS Headless Chrome 实现方案 结论 项目需求 最近,项目接到了一个新需求,要求对指定URL进行后端模 ...