Linux基础命令---iostat显示设备状态
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、例子代码
|
|
6、实例
1)显示cpu情况
|
|
2)显示nfs系统状态
|
|
Linux基础命令---iostat显示设备状态的更多相关文章
- Linux基础命令---netstat显示网络状态
netstat netstat指令可以显示当前的网络连接.路由表.接口统计信息.伪装连接和多播成员资格等信息. 此命令的适用范围:RedHat.RHEL.Ubuntu.CentOS.SUSE.open ...
- Linux基础命令---vmstat显示虚拟内存状态
vmstat vmstat指令用来显示虚拟内存使用状态,同时也可以显示进程.cpu活动情况.vmstat报告有关进程.内存.分页.块IO.陷阱和CPU活动的信息.生成的第一份报告给出了自上次重新启动以 ...
- Linux基础命令---sar显示系统活动信息
sar sar指令用来收集.报告.保存系统的活动信息.sar命令将操作系统中选定的累积活动计数器的内容写入标准输出.会计系统根据参数“interval”.“count”中的值,写入以秒为单位的指定间隔 ...
- Linux基础命令---nfsstat显示nfs信息
nfsstat nfsstat指令用来显示nfs客户端和服务器的活动信息. 此命令的适用范围:RedHat.RHEL.Ubuntu.CentOS.Fedora. 1.语法 nfsstat ...
- Linux基础命令---top显示进程信息
top top指令用来显示Linux的进程信息,这是一个动态显示的过程.top提供运行系统的动态实时视图.它可以显示系统摘要信息以及当前由Linux内核管理的任务列表.所显示的系统摘要信息的类型以及为 ...
- Linux基础命令---mpstat显示cpu使用
mpstat mpstat指令用来显示cpu的使用状况,将内容显示到标准输出.处理器0是第一个.还报告了所有处理器之间的全球平均活动.mpstat命令既可以在SMP机器上使用,也可以在UP机器上使用, ...
- Linux基础命令---uname显示计算机名称
uname uname指令用来显示计算机硬件以及操作系统的相关信息,例如计算机名.内核版本.硬件架构. 此命令的适用范围:RedHat.RHEL.Ubuntu.CentOS.Fedora.SUSE.o ...
- Linux基础命令---文本显示tac
tac 将指定文件中的行,按照反序方式显示.此命令的适用范围:RedHat.RHEL.Ubuntu.CentOS.SUSE.openSUSE.Fedora. 1.语法 tac [选项] ...
- Linux基础命令---tail显示文本
tail 显示文本文件尾部的部分内容,默认显示最后10行. 此命令的适用范围:RedHat.RHEL.Ubuntu.CentOS.SUSE.openSUSE.Fedora. 1.语法 ...
随机推荐
- dup(dup2/dup3)
readme man~ NAME dup, dup2, dup3 - duplicate a file descriptor SYNOPSIS #include <unistd.h> in ...
- EF Working with Transactions
原文:https://msdn.microsoft.com/en-us/data/dn456843.aspx Prior to EF6 Entity Framework insisted on ope ...
- 关于eclipse的Progress一直跳转的解决方案
下载eclipse编程,发现了一个问题:执行main方法第二次console打印不出数据,后发现Progress一直跳转,而且非常多进度条在运行,关闭后第一次执行没问题,第二次问题重复出现. 有幸看到 ...
- 邮局 100分代码(dfs+多重剪枝)
蓝桥杯真题-邮局 #include<iostream> #include<algorithm> #include<set> #include<string&g ...
- Python全栈-JavaScript】jQuery工具
jQuery工具 一.jQuery.browser.version 显示当前 IE 浏览器版本号. if ( $.browser.msie ) alert( $.browser.version ); ...
- VUE-004-禁止修改页面显示项,设置el-input,textarea只读方法
在实际业务需求中,有些内容当初次创建后,即不可再次进行修改变更,因而需要显示的文本内容不允许变更.此时,可通过页面限制防止用户修改. 方法:添加 readonly="true" 或 ...
- 在python项目中导出项目依赖的模块信息
1.安装pipreqs pip install pipreqs 2.导出requriements.txt文件 在windows中,终端切换到项目所在的文件夹下: 运行: pipreqs ./ 如果遇到 ...
- 汇编-10.0-CALL和RET指令
call和ret指令都是转移指令,他们都是修改IP,或同时修改CS和IP.它们常被共同用来实现子程序设计. 1.ret和retf ret指令用栈中的数据,修改IP的内容,从而实现近转移: retf指令 ...
- 【Docker】-NO.131.Docker.1 -【Docker】
Style:Mac Series:Java Since:2018-09-10 End:2018-09-10 Total Hours:1 Degree Of Diffculty:5 Degree Of ...
- 干了这杯java之ThreadLocal
ThreadLocal Java篇 是什么 怎么用 源码 缺点 总结 是什么 ThreadLocal是一个关于创建线程局部变量的类,这个变量只能当前线程使用,其他线程不可用. ThreadLocal提 ...