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.语法 ...
随机推荐
- c#学习个人总结
c#一门程序语言,我的专业课.有了一学期的接触对它的了解还只是皮毛,里面有许多的知识都有待了解学习和提高,熟练掌握程序的语法,能够熟练的调用,对于一些理论性的知识还需要今后更多的揣摩和研究,讲书本中的 ...
- 小甲鱼Python第二十讲课后习题---021
笔记: 1.lambda表达式的作用: 1)Python写一些执行脚本时,使用lambda就可以省下定义函数的过程,比如说我们只是需要写一个简单的脚本来管理服务器时间,我们就不需要专门定义一个函数然后 ...
- __x__(23)0907第四天__浏览器默认样式
浏览器默认样式: 为了美观,浏览器为了在页面没有样式时,也可以有一个较好的显示效果,默认设置若干 margin,padding. 作为开发人员,在CSS编写最初,一般都会清除默认样式, ...
- BOM 浏览器对象模型_window.navigator
window.navigator 对象 包含浏览器和系统信息的 Navigator 对象. 通过这个属性 了解用户的环境信息 window.navigator.userAgent 返回浏览器的 Use ...
- 安卓动态分析工具【Android】3D布局分析工具
https://blog.csdn.net/fancylovejava/article/details/45787729 https://blog.csdn.net/dunqiangjiaodemog ...
- 在C++中,子类重载一个操作符时,如何调用父类被重载的操作符函数
使用static_cast运算符将子类转换为父类即可 #include <iostream> using namespace std; class Base { public: Base( ...
- get与post请求问题
req.url可以获取请求路径: 为避免浏览器自身发送的'/favicon.ico'的影响,获取路径后可利用if(req.url=='/favicon.ico') return ;处理 url.pa ...
- symfony采坑
2018年7月31日21:43:17 安装 首先安装composer 注意 windows下注意 [curl] curl.cainfo =E:\phpStudy\PHPTutorial\php\p ...
- Mongodb 副本集+分片
mongodb的分片功能是建立在副本集之上的,所以首先我们尝试着配置副本集. docker启动3个已经安装好mongo的镜像 # docker run -idt --name mongodb_01 m ...
- Install VirtualBox Guest Additions for elementary os
Pls refer to: Install VirtualBox Guest Additions for elementary os