Linux之 iostat 解读磁盘io

简介:

1、iostat
[oracle@orastb log]$ iostat
Linux 3.10.0-327.el7.x86_64 (orastb.bonc.com.cn) 09/07/2017 _x86_64_ (32 CPU)

avg-cpu: %user %nice %system %iowait %steal %idle
0.70 0.00 0.19 0.01 0.00 99.09

Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 19.01 133.47 381.19 833489930 2380474826
sdb 0.00 0.00 0.00 6884 0
sdc 0.00 0.00 0.00 6884 0
dm-0 5.07 1.15 63.84 7193043 398650022
dm-1 0.00 0.00 0.00 4040 0
dm-2 14.22 132.31 317.27 826266347 1981327091
avg-cpu: 总体cpu使用情况统计信息,对于多核cpu,这里为所有cpu的平均值
Device: 以sdX形式显示的设备名称

tps: 每秒进程下发的IO读、写请求数量
Blk_read/s: 每秒读扇区数量(一扇区为512bytes)
Blk_wrtn/s: 每秒写扇区数量
Blk_read: 取样时间间隔内读扇区总数量
Blk_wrtn: 取样时间间隔内写扇区总数量

2、-- -x 输出扩展信息。 -k选项,指定iostat的部分输出结果以kB为单位,而不是以扇区数为单位。
[oracle@orastb log]$ iostat -x -k
Linux 3.10.0-327.el7.x86_64 (orastb.bonc.com.cn) 09/07/2017 _x86_64_ (32 CPU)

avg-cpu: %user %nice %system %iowait %steal %idle
0.70 0.00 0.19 0.01 0.00 99.09

Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sda 0.00 0.28 2.40 16.61 133.46 381.18 54.14 0.17 9.20 1.20 10.36 0.13 0.25
sdb 0.00 0.00 0.00 0.00 0.00 0.00 8.55 0.00 0.54 0.54 0.00 0.54 0.00
sdc 0.00 0.00 0.00 0.00 0.00 0.00 8.55 0.00 0.52 0.52 0.00 0.52 0.00
dm-0 0.00 0.00 0.11 4.97 1.15 63.83 25.63 0.01 2.48 2.88 2.47 0.17 0.09
dm-1 0.00 0.00 0.00 0.00 0.00 0.00 10.90 0.00 12.04 12.04 0.00 12.04 0.00
dm-2 0.00 0.00 2.29 11.93 132.30 317.26 63.22 0.17 11.54 1.13 13.54 0.16 0.22

说明:
avg-cpu: 总体cpu使用情况统计信息,对于多核cpu,这里为所有cpu的平均值
Device: 各磁盘设备的IO统计信息

rrqm/s: 每秒对该设备的读请求被合并次数,文件系统会对读取同块(block)的请求进行合并
wrqm/s: 每秒对该设备的写请求被合并次数
r/s: 每秒完成的读次数
w/s: 每秒完成的写次数
rkB/s: 每秒读数据量(kB为单位)
wkB/s: 每秒写数据量(kB为单位)
avgrq-sz:平均每次IO操作的数据量(扇区数为单位)
avgqu-sz: 平均等待处理的IO请求队列长度
await: 平均每次IO请求等待时间(包括等待时间和处理时间,毫秒为单位) , 可以理解为 IO的响应时间
svctm: 平均每次IO请求的处理时间(毫秒为单位) , 可以理解为 磁盘的服务时间
%util: 采用周期内用于IO操作的时间比率,即IO队列非空的时间比率 , 可以理解为 磁盘的使用率

3、-- iostat interval [count] ”形式指定iostat命令的采样间隔和采样次数
[oracle@orastb log]$ iostat 2 2 
Linux 3.10.0-327.el7.x86_64 (orastb.bonc.com.cn) 09/07/2017 _x86_64_ (32 CPU)

avg-cpu: %user %nice %system %iowait %steal %idle
0.70 0.00 0.19 0.01 0.00 99.09

Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 19.01 133.42 381.07 833598668 2380963184
sdb 0.00 0.00 0.00 6884 0
sdc 0.00 0.00 0.00 6884 0
dm-0 5.07 1.15 63.81 7194399 398709602
dm-1 0.00 0.00 0.00 4040 0
dm-2 14.22 132.26 317.18 826373729 1981755868

avg-cpu: %user %nice %system %iowait %steal %idle
0.25 0.00 0.09 0.00 0.00 99.65

Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 8.00 32.00 76.00 64 152
sdb 0.00 0.00 0.00 0 0
sdc 0.00 0.00 0.00 0 0
dm-0 0.00 0.00 0.00 0 0
dm-1 0.00 0.00 0.00 0 0
dm-2 8.00 32.00 76.00 64 152

文章可以转载,必须以链接形式标明出处。

本文转自 张冲andy 博客园博客,原文链接:  http://www.cnblogs.com/andy6/p/7491948.html  ,如需转载请自行联系原作者
相关文章
|
5月前
|
存储 监控 Linux
Linux: 检测磁盘坏块 你得会吧!
Linux: 检测磁盘坏块 你得会吧!
340 19
Linux: 检测磁盘坏块 你得会吧!
|
4月前
|
Linux
在线对Linux进行磁盘扩容的技术指南。
综上所述,Linux磁盘扩容的过程,重要的不仅是技术,更是对每一步骤的深刻理解和投入的爱心。只要手握正确的工具,我们不仅能满足"孩子"的成长需求,还能享受其中的乐趣和成就。
300 10
|
5月前
|
监控 固态存储 Linux
如何判断Linux磁盘是SSD还是HDD?
总的来说,判断磁盘是SSD还是HDD并不复杂,只需要使用正确的命令和方法,就可以轻松得到结果。希望这些信息对你有所帮助,如果你还有其他问题,欢迎随时提问。
508 15
|
3月前
|
Linux C语言 网络架构
Linux的基础IO内容补充-FILE
而当我们将运行结果重定向到log.txt文件时,数据的刷新策略就变为了全缓冲,此时我们使用printf和fwrite函数打印的数据都打印到了C语言自带的缓冲区当中,之后当我们使用fork函数创建子进程时,由于进程间具有独立性,而之后当父进程或是子进程对要刷新缓冲区内容时,本质就是对父子进程共享的数据进行了修改,此时就需要对数据进行写时拷贝,至此缓冲区当中的数据就变成了两份,一份父进程的,一份子进程的,所以重定向到log.txt文件当中printf和fwrite函数打印的数据就有两份。此时我们就可以知道,
66 0
|
3月前
|
存储 Linux Shell
Linux的基础IO
那么,这里我们温习一下操作系统的概念我们在Linux平台下运行C代码时,C库函数就是对Linux系统调用接口进行的封装,在Windows平台下运行C代码时,C库函数就是对Windows系统调用接口进行的封装,这样做使得语言有了跨平台性,也方便进行二次开发。这就是因为在根本上操作系统确实像银行一样,并不完全信任用户程序,因为直接开放底层资源(如内存、磁盘、硬件访问权限)给用户程序会带来巨大的风险。所以就向银行一样他的服务是由工作人员隔着一层玻璃,然后对顾客进行服务的。
50 0
|
9月前
|
Ubuntu Linux Shell
(已解决)Linux环境—bash: wget: command not found; Docker pull报错Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled
(已成功解决)Linux环境报错—bash: wget: command not found;常见Linux发行版本,Linux中yum、rpm、apt-get、wget的区别;Docker pull报错Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled
4420 69
(已解决)Linux环境—bash: wget: command not found; Docker pull报错Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled
|
6月前
|
Linux
Linux系统ext4磁盘扩容实践指南
这个过程就像是给你的房子建一个新的储物间。你需要先找到空地(创建新的分区),然后建造储物间(格式化为ext4文件系统),最后将储物间添加到你的房子中(将新的分区添加到文件系统中)。完成这些步骤后,你就有了一个更大的储物空间。
566 10
|
7月前
|
存储 网络协议 Linux
【Linux】进程IO|系统调用|open|write|文件描述符fd|封装|理解一切皆文件
本文详细介绍了Linux中的进程IO与系统调用,包括 `open`、`write`、`read`和 `close`函数及其用法,解释了文件描述符(fd)的概念,并深入探讨了Linux中的“一切皆文件”思想。这种设计极大地简化了系统编程,使得处理不同类型的IO设备变得更加一致和简单。通过本文的学习,您应该能够更好地理解和应用Linux中的进程IO操作,提高系统编程的效率和能力。
303 34
|
8月前
|
Ubuntu Linux 网络安全
Linux磁盘挂接教程
Linux磁盘挂接教程
163 14
|
9月前
|
Linux API C语言
Linux基础IO
Linux基础IO操作是系统管理和开发的基本技能。通过掌握文件描述符、重定向与管道、性能分析工具、文件系统操作以及网络IO命令等内容,可以更高效地进行系统操作和脚本编写。希望本文提供的知识和示例能帮助读者更深入地理解和运用Linux IO操作。
203 14