Linux学习之iostat命令详解
我们可以用iostat 命令来监视系统输入/输出、设备负载,这通过观察与它们的平均传送速率相关的物理磁盘的活动时间
来实现。iostat 命令生成的报告可以用来更改系统配置,从而更好地平衡物理磁盘和适配器之间的输入/输出负载。当Linux系
统出现性能问题时,用iostat工具查看进程IO请求下发的数量、系统处理IO请求的耗时,进而分析进程与操作系统的交互过程
中IO方面是否存在瓶颈。
一、基本使用
安装命令: yum install sysstat


输入命令后会自动安装,依赖包没有安装时会提示,输入“ y ”即可。
1.iostat语法
用法:iostat [ 选项 ] [ <时间间隔> [ 次数 ] ]

| 参数 | 描述 |
| -c | 显示CPU使用情况 |
| -d | 显示磁盘使用情况 |
| -N | 显示磁盘阵列(LVM)信息 |
| -n | 显示NFS使用情况 |
| -k | 输出结果以KB为单位显示 |
| -m | 输出结果以MB为单位显示 |
| -t | 报告每秒向终端读取/写入的字符数和CPU信息 |
| -V | 显示版本信息 |
| -x | 显示详细的统计信息 |
| -p | 显示磁盘和分区的情况 |
2.单独执行iostat命令

由 iostat 命令生成的第一份报告提供了关于自从系统被引导后的时间统计信息,后继的每一份报告都包含自上一次
报告以来的时间。第一行依次显示系统版本信息、主机名、当前日期、CPU位数和CPU个数。
avg-cpu:总体cpu使用情况统计信息,对于多核cpu,这里为所有cpu的平均值。重点关注iowait值,表示CPU用于
等待io请求的完成时间,各参数介绍如下:
%user:CPU处在用户模式下的时间百分比
%nice:CPU处在带NICE值的用户模式下的时间百分比
%system:CPU处在系统模式下的时间百分比
%iowait:CPU等待输入输出完成时间的百分比
%steal:管理程序维护另一个虚拟处理器时,虚拟CPU的无意识等待时间百分比
%idle:CPU空闲时间百分比
Device:各磁盘设备的IO统计信息,参数介绍如下:
tps:该设备每秒的传输次数(Indicate the number of transfers per second that were issued to the device)。
“一次传输”意思是“一次I/O请求”,多个逻辑请求可能会被合并为“一次I/O请求”,“一次传输”请求的大小是未知的。
kB_read/s:每秒从设备(drive expressed)读取的数据量
kB_wrtn/s:每秒向设备(drive expressed)写入的数据量
kB_read:读取的数据总量
kB_wrtn:写入的数据总量
二、几种常见用法
1. iostat -c 1 5 查看CPU状态,指定时间间隔为1秒,总共显示5次。

如果%iowait的值过高,表示硬盘存在I/O瓶颈,%idle值高,表示CPU较空闲,如果%idle值高但系统响应
慢时,有可能是CPU等待分配内存,此时应加大内存容量。%idle值如果持续低于10,那么系统的CPU处理能
力相对较低,表明系统中最需要解决的资源是CPU。
2. iostat -d sda 查看指定磁盘信息

3. iostat -d -k 1 5 查看TPS和吞吐量信息

三、获取更详细的IO统计信息
我们可以使用命令 iostat -x -d -k 1 5 来查看设备响应率(%util)和响应时间(await)。

rrqm/s:每秒这个设备相关的读取请求有多少被Merge了(当系统调用需要读取数据的时候,VFS将请求发到各个FS,
如果FS发现不同的读取请求读取的是相同Block的数据,FS会将这个请求合并Merge)
wrqm/s:每秒这个设备相关的写入请求有多少被Merge了
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)
rkB/s:每秒读数据量(kB为单位)
wkB/s:每秒写数据量(kB为单位)
avgrq-sz:平均每次IO操作的数据量(扇区数为单位)
avgqu-sz:平均等待处理的IO请求队列长度
await:每一个IO请求的处理的平均时间(毫秒为单位)。这里可以理解为IO的响应时间,一般地系统IO响应时间
应该低于5ms,如果大于10ms就比较大了。
r_await:读取请求的平均时间(毫秒为单位)
w_await:写入请求的平均时间(毫秒为单位)
svctm:平均每次IO请求的处理时间(毫秒为单位)
%util:在统计时间内所有处理IO时间,除以总共统计时间。例如,如果统计间隔1秒,该设备有0.8秒在处理IO,
而0.2秒闲置,那么该设备的%util = 0.8/1 = 80%,所以该参数暗示了设备的繁忙程度。一般地,如果该参数是
100%表示设备已经接近满负荷运行了(当然如果是多磁盘,即使%util是100%,因为磁盘的并发能力,所以磁
盘使用未必就到了瓶颈)。
Linux学习之iostat命令详解的更多相关文章
- Linux学习之sed命令详解
概述 sed是stream editor的简称,也就是流编辑器.它一次处理一行内容,处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区 ...
- linux iostat命令详解 磁盘操作监控工具
Linux系统中的 iostat是I/O statistics(输入/输出统计)的缩写,iostat工具将对系统的磁盘操作活动进行监视. 它的特点是汇报磁盘活动统计情况,同时也会汇报出CPU使用情况. ...
- Linux - iostat命令详解
简介 iostat可以提供更丰富的IO性能状态数据,iostat命令有两个用途: 输出CPU的统计信息 输出设备和分区的I/O统计信息 命令语法及参数说明 语法: iostat [ -c | -d ] ...
- Linux上的free命令详解、swap机制
Linux上的free命令详解 解释一下Linux上free命令的输出. 下面是free的运行结果,一共有4行.为了方便说明,我加上了列号.这样可以把free的输出看成一个二维数组FO(Free ...
- Linux学习之用户配置文件详解(十四)
Linux学习之用户配置文件详解 目录 用户信息文件/etc/password 影子文件/etc/shadow 组信息文件/etc/group 组密码文件/etc/gshadow 用户信息文件/etc ...
- [转帖]Docker学习之Dockerfile命令详解
Docker学习之Dockerfile命令详解 https://it.baiked.com/system/docker/2436.html 图挺好的 前言 之前,制作镜像的伪姿势搭建已经见过了,今天介 ...
- Linux CAT与ECHO命令详解 <<EOF EOF
Linux CAT与ECHO命令详解 cat命令是Linux下的一个文本输出命令,通常是用于观看某个文件的内容的: cat主要有三大功能: .一次显示整个文件. $ cat filename .从键盘 ...
- [r]Ubuntu Linux系统下apt-get命令详解
Ubuntu Linux系统下apt-get命令详解(via|via) 常用的APT命令参数: apt-cache search package 搜索包 apt-cache show package ...
- Linux CAT与ECHO命令详解
Linux CAT与ECHO命令详解 cat命令是Linux下的一个文本输出命令,通常是用于观看某个文件的内容的: cat主要有三大功能: 1.一次显示整个文件. $ cat filename 2.从 ...
随机推荐
- 重拾python所要知道的一些主干知识点
前言:因为有一段时间没有用python了,最近需要用到,只能回头过去看B站视频补一补,因为语言都是相通的,而且一些细节都可以去查表解决,所以呢,我们只需要知道一些python与其他语言的不同和常见的优 ...
- mysql存储过程加事务
create procedure sp_sw2() begin declare error int default 0; declare continue handler for SQLEXCEPTI ...
- Spring5.0源码学习系列之浅谈BeanFactory创建
Spring5.0源码学习系列之浅谈BeanFactory创建过程 系列文章目录 提示:Spring源码学习专栏链接 @ 目录 系列文章目录 博客前言介绍 一.获取BeanFactory主流程 二.r ...
- Pycharm激活码,最新2020Pycharm永久激活码!!!
分享一个Pycharm激活码给各位,是一个永久的Pycharm激活码~ 要是下边的这个Pycharm激活码失效了的话,大家可以关注微信公众号:Python联盟,然后回复"激活码"即 ...
- webpack配置babel篇
babel-polyfill & babel-runtime & babel-preset-env babel-core babel-core 的作用是把 js 代码分析成 ast , ...
- WSL-Ubuntu18.04 磁盘迁移 与 ns3-gym 安装
WSL 安装 win10 版本应大于或等于 1903 win10 设置页面 输入 控制面板 并点击进入 找到 程序和功能 并打开 找到 启动或关闭 Windows 功能 并打开 向下拉 勾选 适用于L ...
- 有名管道FIFO进程间数据传输实例
紧接着上面一个博客的简单介绍,下面进行一个没有血缘关系的进程间通信的实例,实现文件拷贝传输. 有两个进程,一个主要是fifow进程:读文件Makefile内容,写入管道;另一个进程fifor:读管道内 ...
- Loadrunner学习(一)
一个优秀的软件系统不单单具有良好的功能,还需要有过硬的性能,一个只通过功能测试的系统,只能称之为"可用",而不能算是"好用".当然,性能测试需要基于功能测试,只 ...
- Markdown 常用语言关键字
Markdown 语法高亮支持的语言还是比较多的,记下来备用. 语言名 关键字 Bash bash CoffeeScript coffeescript C++ cpp C# cs CSS css Di ...
- JavaScrip_12.23
笔记系列,零散的知识点,准备以后复习整理使用 JavaScrip - 事件DOM绑定[将函数添加到一个元素对象的属性中] 1.事件 鼠标.键盘.操作等:所有的GUI都有 onclick(单击事件) 例 ...