iostat

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

iostat命令生成的第一个报告提供了自系统启动以来的统计数据,除非在省略该第一个报告时使用-y选项。每一份后续报告都涵盖自上次报告以来的时间。每次运行iostat命令时都会报告所有统计信息。报告由CPU标题行和CPU统计数据行后面的一行组成。在多处理器系统中,CPU统计数据作为所有处理器之间的平均值计算在系统范围内.设备标题行后面显示配置的每个设备的一行统计信息。当使用选项-n时,会显示NFS标题行,并为每个已挂载的网络文件系统显示一行统计信息。

此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、Fedora、SUSE、openSUSE。

1、语法

iostat  [选项]

2、选项列表

选项

说明

-c

显示cpu情况

-d

显示设备利用率

-h

配合-n选项使用,让输出更加易读

-j

显示指定设备的名字、id、label

-k

以“kb/s”为单位显示,默认使用“块/s”为单位

-m

以Mb/s为单位

-N

显示注册设备的映射名字

-n

显示NFS状态

-p

显示块设备状态

-t

显示报告时间

-x

显示扩展信息

-V

显示版本信息,并且退出

-y

如果在给定间隔内显示多个记录,则自系统启动以来省略带有统计信息的第一次报告。

-z

告诉iostat,对于在示例期间没有活动的任何设备,都要省略输出。

3、报告

iostat命令生成三种类型的报告:CPU利用率报告、设备使用报告和网络文件系统报告。

1)CPU利用率报告

iostat命令生成的第一个报告是CPU利用率报告。对于多处理器系统,CPU值是所有处理器之间的全局平均值。报告的格式如下:

报告内容

说明

%user

显示在用户级别(应用程序)执行时CPU利用率的百分比。

%nice

以良好的优先级在用户级别执行时显示CPU利用率的百分比。

%system

显示在系统级(内核)执行时出现的CPU利用率百分比。

%iowait

显示CPU或CPU空闲的时间百分比,在此期间,系统有未执行的磁盘I/O请求。

%steal

显示虚拟机管理程序为另一个虚拟处理器服务时,虚拟CPU或CPU在非自愿等待中花费的时间百分比。

%idle

显示CPU或CPU空闲的时间百分比,并且系统没有未执行的磁盘I/O请求。

2)设备使用报告

iostat命令生成的第二个报告是设备使用报告。设备报告提供每个物理设备或分区的统计信息。可以在命令行上输入要显示统计信息的块设备。如果不使用-x选项,也可以在命令行中输入分区。如果没有输入设备或分区,则为系统使用的每个设备显示统计信息,并提供内核为其维护统计信息。如果在命令行上给出ALL关键字,则会显示系统定义的每个设备的统计信息,包括从未使用过的设备。报告可能会显示以下字段,这取决于所使用的标志

报告内容

说明

Device:

该列给出了nth设备的设备(或分区)名称,它以devm-n的形式显示,内核为2.4,其中m是设备的主要数字,n是一个独特的数字。对于较新的内核,将显示/dev目录中列出的设备名称。

tps

指示每秒发送给设备的传输次数。传输是对设备的I/O请求。多个逻辑请求可以组合成对设备的单个I/O请求。转移是不确定的大小。

Blk_read/s

指示从设备读取的数据量,以每秒多个块表示。块等效于内核2.4及更高版本的扇区,因此其大小为512字节。对于较老的核,块的大小是不确定的。

Blk_wrtn/s

指示写入设备的数据量,以每秒多个块表示。

Blk_read

读入的总块数

Blk_wrtn

写入的总块数

kB_read/s

指示从设备读取的数据量,以每秒千字节表示。

kB_wrtn/s

指示从设备写入的数据量,以每秒千字节表示。

kB_read

读取的总量,kb

kB_wrtn

写入的总量,kb

MB_read/s

指示写入设备的数据量,以每秒兆字节表示。

MB_wrtn/s

指示读取设备的数据量,以每秒兆字节表示。

MB_read

读取的总量,Mb

MB_wrtn

写入的总量,Mb

rrqm/s

每秒合并到设备的读取请求数。

wrqm/s

每秒合并到设备的写入请求数。

r/s

每秒向设备发出的读取请求数。

w/s

每秒向设备发出的写入请求数。

rsec/s

每秒从设备读取的扇区数。

wsec/s

每秒从设备写入的扇区数。

rkB/s

每秒从设备读取的千字节数。

wkB/s

每秒从设备写入的千字节数。

rMB/s

每秒从设备读取的兆字节数。

wMB/s

每秒从设备写入的兆节数。

avgrq-sz

向设备发出的请求的平均大小(按扇区)

avgqu-sz

向设备发出的请求的平均队列长度。

await

向要服务的设备发出I/O请求的平均时间(毫秒)。这包括请求在队列中花费的时间和服务它们的时间。

svctm

向设备发出的I/O请求的平均服务时间(毫秒)。警告!不要再相信这个领域了。此字段将在以后的sysstat版本中删除。

%util

向设备发出I/O请求的CPU时间百分比(设备的带宽利用率)。当此值接近100%时,设备饱和发生。

3)NFS报告

NetworkFilessystem(NFS)报告为每个挂载的网络文件系统提供统计信息。报告显示了以下领域:

报告内容

说明

Filesystem:

此列显示NFS服务器的主机名,后面是冒号,以及安装网络文件系统的目录名。

rBlk_nor/s

指示应用程序通过Read(2)系统调用接口读取的块数。块的大小为512字节。

wBlk_nor/s

指示应用程序通过写(2)系统调用接口编写的块数。块的大小为512字节。

rBlk_dir/s

指示从使用O_DIRECT标志打开的文件中读取的块数。

wBlk_dir/s

指示写入使用O_DIRECT标志打开的文件的块数。

rBlk_svr/s

指示NFS客户端通过NFS读取请求从服务器读取的块数。

wBlk_svr/s

指示NFS客户端通过NFS读取请求从服务器写入的块数。

rkB_nor/s

指示应用程序通过Read(2)系统调用接口读取的千字节数。

wkB_nor/s

指示应用程序通过write(2)系统调用接口编写的千字节数。

rkB_dir/s

指示从使用O_DIRECT标志打开的文件中读取的千字节数。

wkB_dir/s

指示写入到使用O_DIRECT标志打开的文件中的千字节数。

rkB_svr/s

指示NFS客户端通过NFS读取请求从服务器读取的千字节数。

wkB_svr/s

指示NFS客户端通过NFS读取请求从服务器写入的千字节数。

rMB_nor/s

指示应用程序通过Read(2)系统调用接口读取的兆字节数。

wMB_nor/s

指示应用程序通过write(2)系统调用接口编写的兆字节数。

rMB_dir/s

指示从使用O_DIRECT标志打开的文件中读取的兆字节数。

wMB_dir/s

指示写入到使用O_DIRECT标志打开的文件中的兆字节数。

rMB_svr/s

指示NFS客户端通过NFS读取请求从服务器读取的兆字节数。

wMB_svr/s

指示NFS客户端通过NFS读取请求从服务器写入的兆字节数。

ops/s

指示每秒向文件系统发出的操作数。

rops/s

指示每秒向文件系统发出的“读”操作数。

wops/s

指示每秒向文件系统发出的“写”操作数。

4、环境变量

iostat命令考虑了以下环境变量:

S_TIME_FORMAT,如果存在此变量,且其值为ISO,则在报表标题中打印日期时,将忽略当前区域设置。iostat命令将使用ISO 8601格式(YYYY-MM-DD)。选项-t显示的时间戳也将符合ISO 8601格式。

5、例子代码

iostat

为所有CPU和设备显示自启动报告以来的单个历史记录

iostat –d 2

以两秒钟间隔显示连续设备报告

iostat –d 2 6

对所有设备每隔两秒钟播放六次报告

iostat -x hda hdb 2 6

以两秒钟的间隔显示六份扩展统计报告,用于设备HDAHDB

iostat -p sda 2 6 

为设备SDA及其所有分区(sda 1)以两秒钟间隔显示六个报告。

6、实例

1)显示cpu情况

[root@localhost ntop-4.0.1]# iostat –c                  //只显示cpu状态

Linux 2.6.32-431.el6.i686 (localhost.localdomain)    20181010   _i686_ (1 CPU)

avg-cpu:  %user   %nice %system %iowait %steal   %idle

           0.17    0.00    0.11    0.04    0.00   99.68

You have new mail in /var/spool/mail/root

[root@localhost ntop-4.0.1]# 

2)显示nfs系统状态

[root@localhost ntop-4.0.1]# iostat -n -h –t               //显示nfs状态,要求显示出时间

Linux 2.6.32-431.el6.i686 (localhost.localdomain)    20181010   _i686_ (1 CPU)

20181010 173411

Filesystem:              rBlk_nor/s   wBlk_nor/s   rBlk_dir/s   wBlk_dir/s   rBlk_svr/s   wBlk_svr/s     ops/s   rops/s    wops/s

[root@localhost ntop-4.0.1]# 

Linux基础命令---iostat相关推荐

  1. linux iostat 时间戳,Linux基础命令---iostat显示设备状态

    iostat iostat 指令用来显示cpu状态,系统IO设备的状态,以及相关磁盘和NFS使用状态.iostat命令通过观察设备相对于其平均传输速率的活动时间来监视系统输入/输出设备负载.iosta ...

  2. linux 关机命令_小猿圈Linux基础命令汇总

    科技进步的今天,互联网不断的发展,很多人学习Linux运维的时候会因为记不住一些命令从而去找一些渠道,有时候因为找不到linux的命令而烦恼,下面是小猿圈linux讲师给大家总结的linux基础命令, ...

  3. Linux基础命令-进程与系统性能

    Linux基础命令-进程与系统性能 进程与系统性能 一.进程相关概念 1.进程概念 2.进程的基本状态和转换 3.IPC进程间通信 4.进程优先级 5.进程状态 二.进程与系统性能 1.系统管理工具 ...

  4. 干货!一篇文章集合所有Linux基础命令,适合所有菜鸟学习和老手回顾!

    阿里云   干货!一篇文章集合所有Linux基础命令,适合所有菜鸟学习和老手回顾! 1 文件{ ls -rtl # 按时间倒叙列出所有目录和文件 ll -rt touch file # 创建空白文件 ...

  5. linux怎么取消文件隐藏命令,Linux基础命令:显示隐藏的文件

    Linux基础命令:显示隐藏的文件 来源:互联网 作者:佚名 时间:2013-04-10 13:32 系统中一些文件,和Windows中的系统文件一样,这些文件一般是不显示出来的,那么我们可以使用-a ...

  6. Linux 基础命令上

    Linux 基础命令上 磁盘分区: /dev/hda5 dev 是硬件设备文件所在的目录 hd 表示IDE设备 sd 表示SCSI设备 a 硬盘的顺序号,以a.b.c...表示 5 分区的顺序号,以1 ...

  7. linux下kill指令默认信号,Linux基础命令之kill命令

    相信大家在使用Linux的过程中都会遇到过某个程序出错导致系统锁死的情况,按照常规的思维我们会通过重启来重新启动系统.然而事实上在Linux中并不需要进行重启就能够完成出错程序的关闭操作.在Linux ...

  8. linux修改密码最短生存时间,Linux基础命令---修改用户密码

    passwd 更改用户密码,超级用户可以修改所有用户密码,普通用户只能修改自己的密码.这个任务是通过调用LinuxPAM和LibuserAPI来完成的.本质上,它使用LinuxPAM将自己初始化为一个 ...

  9. Linux 基础命令讲解--加密解密

    Linux 基础命令讲解--加密解密 加密文件: 1.MD5 echo -n "string" | openssl md5   #加密字符串 openssl md5 -in tes ...

最新文章

  1. 扎克伯格曝光Meta的小目标:AI自动生成元宇宙,实时翻译所有语言
  2. linux 没权限dev null,Linux mint cinnamon 64位找不到/dev/null
  3. bus.js非父子组件之间通讯
  4. GitHub的新服务GIST
  5. 测试php是否连接mysql_如何测试php是否连接mysql成功
  6. (附源码gitHub下载地址)spring boot -jta-atomikos分布式事务
  7. WSS(Windows Storage Server)2008R2使用指南(三)配置及使用篇
  8. 删除树莓派默认密码的SSH警告
  9. 输入阻抗、输出阻抗与阻抗匹配
  10. jquery的图片播放插件 - colorbox
  11. 2019杭电多校6,E.Snowy Smile(线段树维护子段和)
  12. 自动化测试八宗罪- 读Test Automation Snake Oil的一点翻译和感想
  13. vue 中点击叉号,关闭div的方法
  14. mac卸载软件怎么卸载干净?详细方法教程分享
  15. Python中基于TCP网络通信协议的多人聊天室
  16. python——文档字符串
  17. 解决小程序插槽slot内容显示不对,无论是原生小程序还是uniapp开发的,解决办法如下
  18. 【059期】面试官问:序列化是什么,为什么要序列化,如何实现?
  19. Nginx基于IP的访问控制
  20. onCreate(savedInstanceState)

热门文章

  1. matlab 制动曲线,基于Matlab/Simulink的车辆制动过程分析
  2. 万众达机械携手中企动力制霸高空作业平台市场
  3. Altium Designer中进行信号完整性分析
  4. 立体相机标定数据集_超全的3D视觉数据集汇总
  5. ssm+java计算机毕业设计齐市疫苗管理系统w80jw(程序+lw+源码+远程部署)
  6. 天水师范学院计算机类,高等数学a—物理计算机类专业 - 天水师范学院欢迎你.doc...
  7. linux 查看文件的行,linux查看文件有多少行内容的命令介绍
  8. 淘宝购物快捷通道很实用
  9. Invalid account: #0 for network: goerli - private key too short, expected 32 bytes
  10. 阿里巴巴73款开源产品列表,值得收藏