简介

iostat可以提供更丰富的IO性能状态数据,iostat命令有两个用途:

  • 输出CPU的统计信息
  • 输出设备和分区的I/O统计信息

命令语法及参数说明

语法:

iostat [ -c | -d ] [ -k | -m ] [ -t ] [ -V ] [ -x ] [ -n ] [ -h ] [ device [ ... ] | ALL ] [ -p [ device | ALL ] ] [ interval [count ] ]

输出

参数说明:

参数 描述
-c The -c option is exclusive of the -d option and displays only the CPU usage report. 
 输出CPU统计信息。不能与-d参数同时使用。
-d The -d option is exclusive of the -c option and displays only the device utilization report. 
 输出设备和分区的I/O统计信息。不能与-c参数同时使用。
-k Display statistics in kilobytes per second instead of blocks per second.  Data displayed are valid only with kernels 2.4 and newer. 
 用“kbytes/秒”代替“块/秒”显示统计信息。在内核2.4以及新版中才有效。 
-m Display  statistics  in  megabytes  per second instead of blocks or kilobytes per second. Data displayed are valid only with kernels 2.4 and  newer. 
 用“mbytes/秒”代替“块/秒”显示统计信息。在内核2.4以及新版中才有效。 
-t Displays the NFS-directory statistic.  Data displayed are valid only with kernels 2.6.17 and  newer.   This  option  is exclusive ot the -x option. 
 显示NFS目录统计信息。在内核2.6.17以及新版中才有效。不能与参数-x同时使用。
-V Print version number then exit. 
 显示版本号并通出。 
-x Display  extended statistics.  This option is exclusive of the -p and -n, and works with post 2.5 kernels since it needs /proc/diskstats file or a mounted sysfs to get the statistics. This option may also work with older kernels  (e.g.  2.4) only if extended statistics are available in /proc/partitions (the kernel needs to be patched for that). 
 显示扩展统计信息。不能与参数-p和-n同时使用,并且需要在内核2.5以上才能使用,因为它需要/proc/diskstats 或者 加载sysfs获取统计信息。如果只是统计/proc/partitios的扩展统计信息,这个参数可能也能在老版本的内核(如:2.4)中工作(需要给内核打补丁) 
-n Displays the NFS-directory statistic.  Data displayed are valid only with kernels 2.6.17 and  newer.   This  option  is exclusive ot the -x option. 
 显示NFS目录统计信息。需要内核2.6.17或更新版本才有效。不能与参数-x同时使用。
-h Display the NFS report more human readable. 
 可读性更好的NFS目录统计信息 
-p The  -p option is exclusive of the -x option and displays statistics for block devices and all their partitions that are used by the system.  If a device name is entered on the command line, then statistics for it and all its partitions  are displayed. Last, the ALL keyword indicates that statistics have to be displayed for all the block devices and partitions defined by the system, including those that have never been used.  Note that this option works only with post  2.5  ker-nels. 
 显示系统使用的块设备和它们的分区统计信息。不能与参数-x同时使用。如果命令中指定了设备名称,显示设备和它的所有分区的统计。如果使用了关键字ALL,将显示系统所有块设备和分区统计信息,即使它们没有被使用。只有在内核2.5或更新版本中有效。 
interval 刷新时间间隔
count 刷新次数

CPU统计信息字段说明

参数 描述
%user Show the percentage of CPU utilization that occurred while executing at the user level (application). 
 用户进程使用的CPU使用率百分比。 
%nice Show the percentage of CPU utilization that occurred while executing at the user level with nice priority. 
%system Show the percentage of CPU utilization that occurred while executing at the system level (kernel). 
 系统进程使用的CPU使用率百分比。 
%iowait Show  the  percentage  of time that the CPU or CPUs were idle during which the system had an outstanding disk I/O request. 
 系统输出数据至磁盘时空闲的CPU时间百分比(即IO等待)。 
%steal Show the percentage of time spent in involuntary wait by the virtual CPU or CPUs while the hypervisor was servic-ing another virtual processor. 
%idle Show  the  percentage  of time that the CPU or CPUs were idle and the system did not have an outstanding disk I/O request. 
 系统没有任何数据输出至磁盘的CPU时间百分比(即空闲时间) 

设备统计信息字段说明

参数 描述
Device This column gives the device (or partition) name, which is displayed as hdiskn with  2.2  kernels,  for  the  nth device.  It  is displayed as devm-n with 2.4 kernels, where m is the major number of the device, and n a distinc-tive number.  With newer kernels, the device name as listed in the /dev directory is displayed. 
 设备或分区名称。 
tps Indicate the number of transfers per second that were issued to the device. A transfer is an I/O request  to  the device. Multiple logical requests can be combined into a single I/O request to the device. A transfer is of inde-terminate size. 
 设备每秒的传输次数。一个IO请求表示一个传输。多个逻辑请求可以被组成一个I/O请求。一个传输的大小未知。 
Blk_read/s Indicate the amount of data read from the device expressed in a number of blocks per second. Blocks  are  equiva-lent to sectors with 2.4 kernels and newer and therefore have a size of 512 bytes. With older kernels, a block is of indeterminate size. 
 每秒从设备读取数据量(单位:数据块)。 
Blk_wrtn/s Indicate the amount of data written to the device expressed in a number of blocks per second. 
 每秒写入设备的数据量(单位:数据块)。 
Blk_read The total number of blocks read. 
 读取的总数量(单位:数据块)。 
Blk_wrtn The total number of blocks written. 
 写入的总数量(单位:数据块)。
kB_read/s Indicate the amount of data read from the device expressed in kilobytes per second. 
 每秒从设备读取的数据量(单位:KB) 
kB_wrtn/s Indicate the amount of data written to the device expressed in kilobytes per second. 
 每秒写入设备的数据量(单位:KB)
kB_read The total number of kilobytes read. 
 读取的总数量(单位:KB) 
kB_wrtn The total number of kilobytes written. 
 写入的总数量(单位:KB)。
MB_read/s Indicate the amount of data read from the device expressed in megabytes per second. 
 每秒从设备读取的数据量(单位:MB)
MB_wrtn/s Indicate the amount of data written to the device expressed in megabytes per second. 
 每秒写入设备的数据量(单位:MB)
MB_read The total number of megabytes read. 
 读取的总数量(单位:MB)
MB_wrtn The total number of megabytes written. 
 写入的总数量(单位:MB)。
rrqm/s The number of read requests merged per second that were queued to the device. 
 每秒被合并的读请求数。 
wrqm/s The number of write requests merged per second that were queued to the device. 
 每秒被合并的写请求数。 
r/s The number of read requests that were issued to the device per second. 
 每秒的读请求数。 
w/s The number of write requests that were issued to the device per second. 
 每秒的写请求数。 
rsec/s The number of sectors read from the device per second. 
 每秒读取的扇区数。 
wsec/s The number of sectors written to the device per second. 
 每秒写入的扇区数。 
rkB/s The number of kilobytes read from the device per second. 
 每秒从设备读取的数据量(单位:KB)
wkB/s The number of kilobytes written to the device per second. 
 每秒写入设备的数据量(单位:KB)
rMB/s The number of megabytes read from the device per second. 
 每秒从设备读取的数据量(单位:MB)
wMB/s The number of megabytes written to the device per second. 
每秒写入设备的数据量(单位:MB) 
avgrq-sz The average size (in sectors) of the requests that were issued to the device. 
  
avgqu-sz The average queue length of the requests that were issued to the device. 
  
await The average time (in milliseconds) for I/O requests issued to the device to be served.  This  includes  the  time spent by the requests in queue and the time spent servicing them. 
 I/O请求等待时间的平均值(单位:毫秒)。 
svctm The average service time (in milliseconds) for I/O requests that were issued to the device. 
 I/O请求处理时间的平均值(单位:毫秒)。 
%util Percentage  of  CPU  time  during  which  I/O  requests  were issued to the device (bandwidth utilization for the device). Device saturation occurs when this value is close to 100%. 
 消耗在I/O请求中的CPU时间百分比(设备带宽利用率)。如果该值接近100%说明设备出现了瓶颈。

示例

1、统计CPU使用情况

[nieyong@nieyong-redhat ~]$ iostat -c 1 3 Linux 2.6.18-274.3.1.el5 (nieyong-redhat) 2013年04月13日 avg-cpu: %user %nice %system %iowait %steal %idle 0.39 0.22 0.92 2.80 0.00 95.68 avg-cpu: %user %nice %system %iowait %steal %idle 0.00 0.00 0.00 1.00 0.00 99.00 avg-cpu: %user %nice %system %iowait %steal %idle 0.00 0.00 0.00 0.00 0.00 100.00

2、统计磁盘使用情况

[nieyong@nieyong-redhat ~]$ iostat -d 1 3 Linux 2.6.18-274.3.1.el5 (nieyong-redhat) 2013年04月13日 Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn sda 6.39 124.29 27.41 1418077 312756 sda1 0.01 0.16 0.00 1826 4 sda2 6.38 123.95 27.41 1414210 312752 sda3 0.01 0.14 0.00 1617 0 hda 0.00 0.01 0.00 152 0 Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn sda 0.00 0.00 0.00 0 0 sda1 0.00 0.00 0.00 0 0 sda2 0.00 0.00 0.00 0 0 sda3 0.00 0.00 0.00 0 0 hda 0.00 0.00 0.00 0 0 Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn sda 0.00 0.00 0.00 0 0 sda1 0.00 0.00 0.00 0 0 sda2 0.00 0.00 0.00 0 0 sda3 0.00 0.00 0.00 0 0 hda 0.00 0.00 0.00 0 0

参考:
Linux - iostat命令详解 
Linux的IO性能监控工具iostat详解 

Linux - iostat命令详解的更多相关文章

  1. linux iostat命令详解 磁盘操作监控工具

    Linux系统中的 iostat是I/O statistics(输入/输出统计)的缩写,iostat工具将对系统的磁盘操作活动进行监视. 它的特点是汇报磁盘活动统计情况,同时也会汇报出CPU使用情况. ...

  2. [linux]iostat命令详解-监视系统输入输出设备和CPU的使用情况

    部分转载https://blog.csdn.net/sunansheng/article/details/51942281 iostat命令被用于监视系统输入输出设备和CPU的使用情况.它的特点是汇报 ...

  3. linux awk命令详解

    linux awk命令详解 简介 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分 ...

  4. linux cat 命令详解

    linux cat 命令详解 http://linux.chinaunix.net/techdoc/system/2007/11/16/972467.shtml adb shell su //这个不一 ...

  5. 【初级】linux rm 命令详解及使用方法实战

    rm:删除命令 前言: windows中的删除命令大家都不陌生,linux中的删除命令和windows中有一个共同特点,那就是危险,前两篇linux mkdir 命令详解及使用方法实战[初级]中我们就 ...

  6. Linux netstat命令详解

    Linux netstat命令详解 一  简介 Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多 ...

  7. linux grep命令详解

    linux grep命令详解 简介 grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来 ...

  8. Linux chmod命令详解

    Linux chmod命令详解 chmod----改变一个或多个文件的存取模式(mode)   chmod [options] mode files   只能文件属主或特权用户才能使用该功能来改变文件 ...

  9. 【转发】linux yum命令详解

    linux yum命令详解 yum(全 称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器.基於RPM包管理, ...

随机推荐

  1. .net很简介的操作json数组

    using Newtonsoft.Json.Linq;//添加的引用,Newtonsoft.dll可以到guget里面下载 string json="json字符串" JObjec ...

  2. Chart.js – 效果精美的 HTML5 Canvas 图表库

    Chart.js 是一个令人印象深刻的 JavaScript 图表库,建立在 HTML5 Canvas 基础上.目前,它支持6种图表类型(折线图,条形图,雷达图,饼图,柱状图和极地区域区).而且,这是 ...

  3. mysql之 binlog维护详细解析(开启、binlog相关参数作用、mysqlbinlog解读、binlog删除)

    binary log 作用:主要实现三个重要的功能:用于复制,用于恢复,用于审计.binary log 相关参数:log_bin设置此参数表示启用binlog功能,并指定路径名称log_bin_ind ...

  4. ATmega8仿真——外部中断的学习

    前面我们学习了ATmega8的I/O口作为通用数字输入/输出口来用时对LED数码管控制和扫描按键的应用: 但ATmega8多数的I/O口都是复用口,除了作为通用数字I/O使用,还有其第二功能,这里我们 ...

  5. CentOS7安装使用Docker

    安装 Docker 官方为了简化安装流程,提供了一套安装脚本,CentOS 系统上可以使用这套脚本安装: curl -sSL https://get.docker.com/ | sh 执行这个命令后, ...

  6. nginx四层负载均衡配置

    nginx四层负载均衡配置代理Mysql集群 环境如下: ip 192.168.6.203 Nginx ip 192.168.6.*(多台) Mysql 步骤一 查看Nginx是否安装stream模块 ...

  7. 惊心动魄的SAP S4客户额度调整运动

    今天一大早,收到商务部发来的消息,说某一个客户的额度超额了,但实际上并未超额.从SAP系统中反馈的额度来看,显示超了2万多.后来经过在BP画面检查信用段发现,这个客户额度占用里面,某一个未清订单已经部 ...

  8. java中的vo、dto 、dao

    VO是跟数据库里表的映射,一个表对应一个VO  DAO是用VO来访问真实的表,对数据库的操作都在DAO中完成  BO是业务层,做逻辑处理的 VO , PO , BO , QO, DAO ,POJO  ...

  9. 2~62位任意进制转换(c++)

    进制转换的符号表为[0-9a-zA-Z],共61个字符,最大可表示62进制. 思路是原进制先转换为10进制,再转换到目标进制. 疑问: 对于负数,有小伙伴说可以直接将符号丢弃,按照整数进行进位转换,最 ...

  10. 我的学习之路_第二十章_JDBC

    JDBC 使用JDBC技术,通过mysql提供的驱动程序,操作数据库 ● 1. 注册驱动 告知jvm 使用的是什么驱动程序(mysql,oracle) 使用API中的类 DriverManager中的 ...