谷动谷力

 找回密码
 立即注册
查看: 981|回复: 0
打印 上一主题 下一主题
收起左侧

【Linux实用工具】磁盘系列:iostat

[复制链接]
跳转到指定楼层
楼主
发表于 2023-8-28 21:39:49 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 sunsili 于 2023-8-28 21:40 编辑

【Linux实用工具】磁盘系列:iostat


在Linux系统中,磁盘IO的性能是非常关键的,特别是对于高吞吐量的应用程序来说,磁盘IO的影响更为显著。今天左羊介绍下iostat这个实用工具。


1. iostat的基本介绍

iostat是一个Linux系统磁盘性能监测工具,它可以监测系统磁盘的读写速率、I/O请求的数量、以及平均响应时间等信息。通过这些信息,可以帮助我们更好地观察系统的磁盘IO性能,并进行优化。


iostat本身是一个工具集,包括了多个独立的程序,但是我们最常用的还是iostat命令。


2. iostat的使用

iostat的使用非常简单,可以通过以下命令进行调用:

iostat [参数][刷新时间][刷新次数]

其中,参数包括:

-c: 只监测CPU状态
-d: 只监测磁盘状态
-m: 将磁盘速率等信息转化成MB/s单位
-t: 在输出中包括时间戳
-x: 显示扩展信息,包括示峰值、平均值以及I/O队列长度等

刷新时间和刷新次数分别指的是输出的刷新间隔和刷新次数。如果不指定这两个参数,则默认刷新时间是1s,输出5次。

iostat命令进行磁盘IO分析的示例:

iostat -x 5 2

这个命令表示每隔5秒输出一次IO扩展信息,输出2次。

只监测CPU状态

只监测磁盘状态

输出中包括时间戳

显示扩展信息,并在输出中包括时间戳


3. iostat的输出内容说明

iostat的输出内容包括以下几个部分:

  • Device

Device是指监测的磁盘设备,例如/dev/sdb。

  • tps

tps指磁盘每秒的I/O请求次数,包括读写和其他I/O请求。

  • kB_read/s

kB_read/s指每秒读入的数据量,单位是KB/s。

  • kB_wrtn/s

kB_wrtn/s指每秒写出的数据量,单位是KB/s。

  • kB_read

kB_read指已经读入的数据总量,单位是KB。

  • kB_wrtn

kB_wrtn指已经写出的数据总量,单位是KB。

  • runq-sz

I/O操作在等待执行时处于等待队列中,runq-sz指的是这个等待队列的平均长度。

  • await

await指I/O请求的平均等待时间,单位是毫秒。

  • svctm

svctm指每个I/O请求的平均服务时间,单位是毫秒。

  • %util

%util指磁盘的利用率,即磁盘忙时的百分比。在高负载下,如果%util超过了80%,则说明磁盘出现瓶颈。


4. 参考文献

iostat使用参考手册 https://linuxtools-rst.readthedo ... st/tool/iostat.html
感谢你的观看,YES!

+10
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|深圳市光明谷科技有限公司|光明谷商城|Sunshine Silicon Corpporation ( 粤ICP备14060730号|Sitemap

GMT+8, 2024-11-18 08:18 , Processed in 0.554298 second(s), 41 queries .

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表