iostat主要用于监控系统设备的IO负载情况,根据这个可以看出当前系统的写入量和读取量,CPU负载和磁盘负载。

iostat主要用于输出磁盘IO和CPU统计信息。

1. iostat用法:

iostat [选项] [<时间间隔>] [<次数>]

命令参数 :

-c :显示CPU使用情况

-d:显示磁盘使用情况

-N:显示磁盘阵列(LVM)信息

-n:显示NFS使用情况

-k:以KB为单位显示

-m:以M为单位显示

-t:报告每秒向终端读取和写入的字符数和CPU信息

-V:显示版本信息

-x:显示详细信息

-p:[磁盘]显示磁盘和分区的情况。

iostat

%user CPU处在用户模式下的时间百分比
%nice  CPU处在带NICE值的用户模式下的时间百分比 
%system CPU处在系统模式下的时间百分比 
%iowait CPU等待输入输出完成时间的百分比
%steal 管理程序维护另一个虚拟处理器时,虚拟CPU的无意识等待时间百分比 
%idle  CPU空闲时间百分比 

如果%wait的值过高,表示磁盘存在IO瓶颈,%idle值高,表示CPU较空闲,如果%idle值高但系统响应慢时,有可能是CPU等待分配内存,此时应加大内存容量 。%idle值如果持续低于10,那么系统的CPU处理能力相对较低,且明系统中最需要解决的是CPU。

disk属性值说明:

device 磁盘名称
tps 每秒钟发送到的I/O请求数  
Blk_read/s 每秒读取的block数
Blk_wrtn/s 每秒写入的block数
Blk_read 读入的block总数
Blk_wrtn 写入的block总数

iostat -d -x -k 1 1 查看设备使用率(%util),响应时间(await)

rrqm/s 每秒进行merge的读操作数目。即merge/s
wrqm/s 每秒进行的merge写操作数目。即wmerge/s
r/s 每秒完成的读I/O设备次数。即rio/s
w/s 每秒完成的写I/O设备次数。即wio/s
rkB/s 每秒读K字节数。是rsect/s的一半,因为每扇区大小为512字节
wkB/s 每秒写K字节数。是wsect/s的一半
avgrq-sz 平均每次设备I/O操作的数据大小(扇区)
avgqu-sz 平均I/O队列长度
rsec/s 每秒读扇区数。即rsect/s
wsec/s 每秒写扇区数。即wsect/s
r_await 每个读操作平均所需的时间,不仅包括硬盘设备读操作的时间,还包括了在kernel队列中等待的时间。
w_await 每个写操作平均所需的时间,不仅包括硬盘 设备写操作的时间,还包括了在kernel队列中等待的时间。
await 平均每次设备I/O操作等待时间(毫秒)。即delta(ruse+wuse)/delta(rio+wio)
svctm 平均每次设备I/O操作的服务时间(毫秒)
%util 一秒中有百分之多少的时间用于I/O操作,即被io消耗的cpu百分比。

如果 %util 接近100%,说明产生的I/O请求太多,I/O系统已经满负荷,该磁盘可能存在瓶颈。

如果 svctm 比较接近await, 说明I/O几乎没有等待时间;

如果await远大于svctm,说明I/O队列太长,io响应太慢 ,则需要进行必要优化。

如果avgqu-sz比较大,也表示有大量的io在等待。

Linux磁盘相关工具 -- iostat的更多相关文章

  1. 【精】Linux磁盘I/O性能监控之iostat详解

    [精]Linux磁盘I/O性能监控之iostat详解 Linux命令详解----iostat 使用iostat分析IO性能

  2. MySQL 调优基础(四) Linux 磁盘IO

    1. IO处理过程 磁盘IO经常会成为系统的一个瓶颈,特别是对于运行数据库的系统而言.数据从磁盘读取到内存,在到CPU缓存和寄存器,然后进行处理,最后写回磁盘,中间要经过很多的过程,下图是一个以wri ...

  3. Linux - 磁盘操作

    Linux 磁盘常见操作 : df -Ph # 查看硬盘容量 df -T # 查看磁盘分区格式 df -i # 查看inode节点 如果inode用满后无法创建文件 du -h 目录 # 检测目录下所 ...

  4. Linux磁盘IO监控[zz]

    磁盘 I/O 监控是 Unix/Linux 系统管理中一个非常重要的组成部分.它可以监控吞吐量.每秒 I/O 数.磁盘利用率.服务时间等信息,并且在发现异常时,发送告警信息给系统管理员,便于系统管理员 ...

  5. linux磁盘I/O的性能评估

    linux磁盘I/O的性能评估 参考自:自学it网,http://www.zixue.it/. (1)使用iostat命令. [test@localhost /]$ iostat -d Linux - ...

  6. Linux Tools 之 iostat 工具总结

    iostat是Linux中被用来监控系统的I/O设备活动情况的工具,是input/output statistics的缩写.它可以生成三种类型的报告: CPU利用率报告 设备利用率报告 网络文件系统报 ...

  7. Linux学习之iostat命令详解

    我们可以用iostat 命令来监视系统输入/输出.设备负载,这通过观察与它们的平均传送速率相关的物理磁盘的活动时间 来实现.iostat 命令生成的报告可以用来更改系统配置,从而更好地平衡物理磁盘和适 ...

  8. linux磁盘分区模式

    linux磁盘分区模式 模式一:MBR 1)主分区不超过四个 2)单个分区容量最大2TB 模式二:GPT 1)主分区个数"几乎"没有限制(原因:在GPT的分区表中最多可以支持128 ...

  9. <实训|第七天>横扫Linux磁盘分区、软件安装障碍附制作软件仓库

    期待已久的linux运维.oracle"培训班"终于开班了,我从已经开始长期四个半月的linux运维.oracle培训,每天白天我会好好学习,晚上回来我会努力更新教程,包括今天学到 ...

  10. 调整Linux磁盘分区的大小的方法

      昨天数据入库时,一直报错,说磁盘满了,,df -h    一看,发现/目录下只有50G空间,已使用49G:我的程序和dbss都安装在/目录下,ftp到的数据放在/data下的一个子目录下,分解完的 ...

随机推荐

  1. 性能再升级,XMeter Cloud 专业版正式上线

    去年 8 月,EMQ 正式在全球市场推出了最简单.快速的 MQTT 负载和场景测试云服务--XMeter Cloud,用户无需部署即可进行 MQTT 测试,以更低的测试成本轻松打造具有竞争力的可靠物联 ...

  2. leetcode -- 旋转矩阵相关问题

    给定一个 n × n 的二维矩阵表示一个图像. 将图像顺时针旋转 90 度. 说明: 你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵.请不要使用另一个矩阵来旋转图像. 示例 1: 给定 m ...

  3. zabbix中文显示乱码解决

    问题zabbix使用中文显示,"监测-->图形"查看资源使用情况时会有乱码 解决问题1.修改配置文件(文件位置:$zabbix_path/include/defines.in ...

  4. 【翻译】了解Flink-数据管道和ETL -- Learn Flink - Data Pipelines & ETL

    目录 无状态转换 map() flatmap() keyed 流 keyBy() keys计算 keyed流上的聚合 (Implicit)状态 reduce() 和其他聚合器 有状态的Transfor ...

  5. wmi和wmic

    https://baike.baidu.com/item/Windows%20Management%20Instrumentation/572501?fromtitle=WMI&fromid= ...

  6. vvvvvv异步组件儿

    const AsyncCommonItem = Vue.defineAsyncComponent(()=>{ return new Promise((resolve,reject)=>{ ...

  7. (二)REDIS-重要概念与原理

    1 Redis的概念: Redis是一种key-value类型的内存数据库,可以用于保存string,list,set,sorted set,hash等多种数据结构.由于整个数据库统统加载在内存中进行 ...

  8. vuex记录

    vuex就是vue中管理状态的地方,控制着组件之间的数据: 5大核心,通常只要有state和mutation就能满足vuex最基本的需求 1.state 项目存放各种状态的地方 2.mutation ...

  9. 第一章MySQL架构

    1.MySQL架构1.1连接管理与安全性 cpu维护缓存区,存储已就绪的线程,线程驻守在一个cpu上,创建销毁不用重新创建线程.1.2优化与执行 MySQL解析查询进行各种优化包括重写查询.决定表的读 ...

  10. tomcat 1 - Servlet 容器

    Socket socket = new Socket ( "yahoo.com", 80); OutputStream os = socket.getOutputStream(); ...