我的编程空间,编程开发者的网络收藏夹
学习永远不晚

iostat 命令详解

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

iostat 命令详解

iostat 命令详解

iostat主要用于监控系统设备的IO负载情况,根据这个可以看出当前系统的写入量和读取量,CPU负载和磁盘负载。

语法

Usage: iostat [ options ] [ [ ] ]
Options are:
[ -c ] [ -d ] [ -h ] [ -k | -m ] [ -N ] [ -t ] [ -V ] [ -x ] [ -y ] [ -z ]
[ -j { ID | LABEL | PATH | UUID | … } ]
[ [ -T ] -g ] [ -p [ [,…] | ALL ] ]
[ […] | ALL ]

主要分为4个部分:iostat [ 选项 ] [<时间间隔> <次数> ]

参数详解

  • -c: 仅显示CPU统计信息,与-d选项互斥
  • -d:仅显示磁盘统计信息,与-c选项互斥
  • -h:使用NFS(Network File System网络文件系统)的输出报告,更加友好可读。需要使用-n参数开启NFS。
  • -k:以 kb 为单位显示,默认情况下,iostat的输出是以block作为计量单位,加上这个参数可以以kb作为计量单位显示。(该参数仅在linux内核版本2.4以后数据才是准确的)
  • -m:以 mb 为单位显示(该参数仅在linux内核版本2.4以后数据才是准确的)
  • -N:显示磁盘阵列(LVM) 信息。
  • -V:显示版本信息
  • -x:显示更详细的磁盘报告信息,默认只显示六列,加上该参数后会显示更详细的信息(该参数仅在linux内核版本2.4以后数据才是准确的)
  • -n:显示NFS(Network File System网络文件系统) 使用情况(该参数仅在linux内核版本2.6.17以后有效)
  • -t:输出报告时显示系统时间
  • -p:[ { device [,…] | ALL } ] 显示磁盘分区的相关统计信息(默认粒度只到磁盘,没有显示具体的逻辑分区)
  • -y:跳过不显示第一次报告的数据,因为iostat使用的是采样统计,所以iostat的第一次输出的数据是自系统启动以来的累计的数据

-y 这个参数非常重要,因为第一次数据不属于正常数据,所以如果做数据统计时,计入了统计,会影响最终数据结果

  • -z:只显示在采样周期内有活动的磁盘
  • -j:{ ID | LABEL | PATH | UUID | … } 磁盘列表的Device列要用什么维度来描述磁盘

返回值详解

avg-cpu 段

在这里插入图片描述

  • %usr CPU在用户模式下的时间百分比
  • %nice CPU处在带NICE值的用户模式下的时间百分比
  • %system CPU在系统模式下的时间百分比
  • %iowait CPU等待输入输出完成时间的百分比
  • %steal 管理程序维护另一个虚拟处理器时,虚拟CPU的无意识等待时间百分比
  • %idle CPU空闲时间百分比

Device 段

  • tps 该设备每秒的传输次数(Indicate the number of transfers per second that were issued to the device.)。“一次传输"意思是"一次I/O请求”。多个逻辑请求可能会被合并为"一次I/O请求"。"一次传输"请求的大小是未知的。
  • kB_read/s 每秒从设备读取的数据量
  • kB_wrtn/s 每秒向设备写入的数据量
  • kB_read 读取的总数据量
  • kB_wrtn 写入的总数据量

-x 参数的扩展值

  • rrqm/s 每秒合并的读操作次数(当系统调用需要读取数据的时候,VFS(virtual File System)将请求发到各个FS,如果FS发现不同的读取请求读取的是相同Block的数据,FS会将这个请求合并Merge)
  • wrqm/s 每秒合并的写操作次数
  • r/s 每秒读次数

计算方式: △rd_ticks / △time
说明:
△ 两次取样点的差值计算
rd_ticks 读花费的毫秒数
time 取样时间

  • w/s 每秒写次数,r/s+w/s就是磁盘IOPS
  • rkB/s 每秒读数据量(KB单位)
  • wkB/s 每秒写数据量(KB单位),rkB/s+wkB/s就是磁盘吞吐量
  • avgrq-sz 平均每次设备I/O操作的 (扇区)数据大小。

计算方式: 两次读取的rd_sectors(读取的扇区数)和wr_sectors(写成功的总的扇区数)的和的差值除以两次读取的rd_ios和wr_ios的和的差值。

  • avgqu-sz 平均I/O队列长度,即IO等待个数。数值越低越好。

计算方式: 两次读取的rq_ticks(加权毫秒数)的差值除以两次读取的时间间隔时间毫秒数。
说明:
rq_ticks 加权毫秒数,例如:在超市买东西,后面10个人等待第一个人付钱。第一个人花了1分钟付钱,那么这10个人花费的时间就是1*10分钟。也就是说它计算的是时间与当前等待的个数的乘积。

  • await 每一个IO请求的处理的平均时间(单位ms)。

计算方式: (△rd_ticks +△ wr_ticks)/(△rd_ios + △wr_ios)
说明:
△ 两次取样点的差值计算
rd_ticks 读花费的毫秒数
wr_ticks 写花费的毫秒数
rd_ios 读完成的次数
wr_ios 写完成的次数

  • r_await 每个读操作平均所需的时间(单位ms), r_await + w_await 就是磁盘对请求响应时间

注意: 不仅包括硬盘设备读操作的时间,还包括了在kernel队列中等待的时间

  • w_await 每个写操作平均所需的时间(单位ms)

注意: 不仅包括硬盘设备写操作的时间,还包括了在kernel队列中等待的时间

  • svctm 表示平均每次设备I/O操作的服务时间(以毫秒为单位)。

说明: 如果svctm的值与await很接近,表示几乎没有I/O等待,磁盘性能很好,如果await的值远高于svctm的值,则表示I/O队列等待太长, 系统上运行的应用程序将变慢。

  • %util 在统计时间内所有处理IO时间,除以总共统计时间。

示例: 例如,如果统计间隔1秒,该设备有0.8秒在处理IO,而0.2秒闲置,那么该设备的%util = 0.8/1 = 80%,所以该参数暗示了设备的繁忙程度。一般地,如果该参数是100%表示设备已经接近满负荷运行了,注意:当然如果是多磁盘,即使%util是100%,因为磁盘的并发能力,所以磁盘使用未必就到了瓶颈

性能分析

I/O瓶颈

如果%iowait的值过高,表示硬盘存在I/O瓶颈

内存不足

%idle值高,表示CPU较空闲,如果%idle值高但系统响应慢时,有可能是CPU在等待分配内存,此时应加大内存容量

CPU资源不足

如果%idle值持续低于10,那么系统的CPU处理能力相对较低,表明系统中最需要解决的资源是CPU

IOPS 计算

计算方式: r/s+w/s
I/O per second,即每秒钟可以处理的I/O个数。
随机读写频繁的应用(一般指I/O小于64KB的应用场景),如小文件存储(图片)、OLTP数据库、邮件服务器,关注随机读写性能,IOPS是关键衡量指标。

吞吐量 计算

计算方式: rkB/s+wkB/s
顺序读写频繁的应用,传输大量连续数据,如电视台的视频编辑,视频点播VOD(Video On Demand),关注连续读写性能。数据吞吐量是关键衡量指标。

示例

  1. 每隔 1秒刷新显示,显示3次
    iostat 1 3
  2. 每隔 2秒刷新显示详细信息,显示3次
    iostat -x 2 3
  3. 每隔 1秒刷新,显示CPU统计信息3次
    iostat -c 1 3
  4. 每隔 1秒刷新显示详细信息,显示3次,去除第1次
    iostat -x -y 1 3

参考文章

linuxiostat命令详解
磁盘性能指标—IOPS、吞吐量及测试
Linux iostate命令实战

来源地址:https://blog.csdn.net/m369880395/article/details/127789732

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

iostat 命令详解

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Linux的iostat命令怎么使用

本篇内容主要讲解“Linux的iostat命令怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux的iostat命令怎么使用”吧!Linux常用命令iostat命令被用于监视系统输入
2023-06-28

centos中如何使用iostat命令

今天就跟大家聊聊有关centos中如何使用iostat命令,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。iostat 命令用来监视系统输入/输出设备负载安装时可以执行如下命令yum
2023-06-10

iostat命令怎么在linux中使用

本篇文章给大家分享的是有关iostat命令怎么在linux中使用,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。iostat主要用于监控系统设备的IO负载情况,iostat首次运
2023-06-10

如何在linux中使用iostat命令

本篇文章为大家展示了如何在linux中使用iostat命令,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1.命令格式:iostat[参数][时间][次数]2.命令功能: 通过iostat方便查看C
2023-06-13

Linux中的iostat命令有什么用

这篇文章给大家分享的是有关Linux中的iostat命令有什么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Linux常用命令iostat命令 被用于监视系统输入输出设备和CPU的使用情况。iostat监视系统
2023-06-28

IO实时监控命令iostat的介绍

本篇内容介绍了“IO实时监控命令iostat的介绍”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!iostat用于输出CPU和磁盘I/O相关的
2023-06-05

Linux基础命令---iostat显示设备状态

iostatiostat指令用来显示cpu状态,系统IO设备的状态,以及相关磁盘和NFS使用状态。iostat命令通过观察设备相对于其平均传输速率的活动时间来监视系统输入/输出设备负载。iostat命令生成可用于更改系统配置的报告,以更好地
2023-06-05

Linux 命令之rsync命令详解

rsync命令rsync命令是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。rsync使用所谓的“rsync算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速
2022-06-04

iscsiadm命令详解

iscsiadm是一个用于管理iSCSI设备的命令行工具。它可以用于发现iSCSI目标、登录iSCSI设备、配置iSCSI设备和管理iSCSI会话。以下是iscsiadm命令的一些常见用法和选项:1. 发现iSCSI目标:`iscsiadm
2023-09-28
2023-10-21

tar 命令详解

tar 命令详解 压缩文件命令:tar -czvfh xxxx.tar.gz xxxx 还原文件命令:tar -xzvfh xxxx.tar.gz xxxx 指令说明-c创建新的文件-f指定文件名-h不建立符号连接,直接复制该连接所指向的原
tar 命令详解
2023-12-22

netstat命令详解

netstat命令详情 一、前言二、netstat查看端口命令三、显示每个协议的统计信息四、显示核心路由信息五、netstat的其他参数 一、前言 个人主页: ζ小菜鸡大家好我是ζ小菜鸡,小伙伴们,让我们一起来学习nets
2023-08-30

编程热搜

目录