linux性能调试之iostat
iostat用来监控调试linux系统的IO性能。
一般用法:
iostat -xdct time_interval count [disk]
-x:显示扩展统计项,如果不使用-x参数只会打印基本统计
-d:显示磁盘占用率
-c:显示CPU占用率
示例:

注意点:第一条输出表示从启动开始的统计信息,从第二条开始表示time_interval内的统计信息
参数介绍:
avg-cpu:
- %user:CPU处在用户模式下的时间百分比。
- %nice:CPU处在带NICE值的用户模式下的时间百分比。
- %system:CPU处在系统模式下的时间百分比。
- %iowait:CPU等待输入输出完成时间的百分比。---因为iostat是为了监控IO性能设计的,所以着重关注iowait
- %steal:管理程序维护另一个虚拟处理器时,虚拟CPU的无意识等待时间百分比。
- %idle:CPU空闲时间百分比。
Device:
- rrqm/s: 每秒进行 merge 的读操作数目---merge的意思是将几个小批量且连续的IO访问合并
- wrqm/s: 每秒进行 merge 的写操作数目
- r/s: 每秒发起的读请求次数
- w/s: 每秒发起的写请求次数
- rsec/s: 每秒读扇区数,一个扇区512字节
- wsec/s: 每秒写扇区数,一个扇区512字节
- avgrq-sz: 平均每次设备 I/O 操作的数据大小(以扇区为单位)
- avgqu-sz: 平均 I/O 队列长度---IO队列越长代表等待被执行的IO操作越多
- await: 平均每次设备 I/O 操作的等待时间(毫秒)---等待时间 = 队列中等待时间 + 服务时间
- svctm: 平均每次设备 I/O 操作的服务时间(毫秒)---不要相信这个值
- %util: IO操作的CPU占用率
典型问题:
IO问题综合表述都是IO操作消耗了过多的CPU资源,出现下面情况可以认为设备的IO需要优化:
- %iowait,%util,avgqu-sz高或者高出平均值
- r/s w/s持续高或者高出平均值
- avgqu-sz高
优化方向:
- 应用程序优化,减少IO操作次数
- 使用多块磁盘,将针对大块磁盘的大量读写优化为针对多块磁盘的同样量读写
- 增加文件系统inode cache数量
- 使用固态硬盘提高读写速度
linux性能调试之iostat的更多相关文章
- linux性能调试之vmstat
linux性能监控调优工具vmstat: vmstat:用于监控.显示系统运行过程中的虚拟内存/CPU/磁盘状态. 简单示例(时间间隔2s,监控2次): 重要字段解释: r 表示运行队列(等待运行的进 ...
- Linux性能分析top iostat vmstat free
最近看到一大牛的分析报告,才知道笔者认识这4个命令是多么肤浅,其实要读懂内存的信息,是要一些功力的.1.top VIRT 虚拟内存总量,VIRT=SWAP+RESSWAP ...
- [Linux 性能检测工具]IOSTAT
IOSTAT NAME: Iostat, 报告CPU的统计,和 I/O的统计. 语法: iostat [ -c ] [ -d ] [ -N ] [ -n ] [ -h ] [ -k ...
- 【精】Linux磁盘I/O性能监控之iostat详解
[精]Linux磁盘I/O性能监控之iostat详解 Linux命令详解----iostat 使用iostat分析IO性能
- Linux性能工具介绍
l Linux性能工具介绍 p CPU高 p 磁盘I/O p 网络 p 内存 p 应用程序跟踪 l 操作系统与应用程序的关系比喻为“唇亡齿寒”一点不为过 l 应用程序的性能问题/功能问 ...
- 监控Linux性能的18个命令行工具
监控 Linux 性能的 18 个命令行工具 对于系统和网络管理员来说每天监控和调试Linux系统的性能问题是一项繁重的工作.在IT领域作为一名Linux系统的管理员工作5年后,我逐渐 认识到监控和保 ...
- Linux 性能监控的18个命令行工具
对于系统和网络管理员来说每天监控和调试Linux系统的性能问题是一项繁重的工作.在IT领域作为一名Linux系统的管理员工作5年后,我逐渐 认识到监控和保持系统启动并运行是多么的不容易.基于此原因,我 ...
- [转载]监控 Linux 性能的 18 个命令行工具
转自:http://www.kuqin.com/shuoit/20140219/338066.html 对于系统和网络管理员来说每天监控和调试Linux系统的性能问题是一项繁重的工作.在IT领域作为一 ...
- linux性能调优概述
- 什么是性能调优?(what) - 为什么需要性能调优?(why) - 什么时候需要性能调优?(when) - 什么地方需要性能调优?(where) - 什么人来进行性能调优?(who) - 怎么样 ...
随机推荐
- Java中的Lock与synchronized
并发编程学习笔记之Lock与synchronized 一.什么是可重入锁 Lcok在Java中是一个接口,一般在面试问题中问到的可能是ReentrantLock与synchronized的区别.Ree ...
- 使用axios以及http-proxy-middleware代理处理跨域的问题
axios现在以及是尤大大推荐使用的了,官方不在维护vue-reresource. 由于是地第一次使用axios, 在使用过程中猜了很大的坑 首先我们使用vue-cli创建的项目, 访问接口肯定是跨域 ...
- 八爪鱼采集器︱爬取外网数据(twitter、facebook)
每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- 要想采集海外数据有两种方式:云采集+单机采集. ...
- 修改或隐藏Nginx的版本号
隐藏版本号 隐藏nginx的版本号很简单,nginx的HttpCoreModule提供了一条叫做server_tokens指令,我这要将这条指令设置为“server_tokens off”就可以了. ...
- Windows平台的PHP之开启COM配置
Windows平台的PHP如果未配置COM,调用COM组件,错误如下 Fatal error: Class 'COM' not found in XXXXXXXXX php 根目录的 ext 文件夹下 ...
- List转换成JSON对象报错(五)
List转换成JSON对象 1.具体错误如下 Exception in thread "main" java.lang.NoClassDefFoundError: org/apac ...
- Caused by: java.lang.ClassNotFoundException: org.springframework.orm.hibernate4.HibernateTemplate
1.错误描述 严重: Context initialization failed org.springframework.beans.factory.CannotLoadBeanClassExcept ...
- dojo加载树报错
1.错误描述 error loading undefined children. TypeError:this._arrayOfTopLevelItems is undefied. 2.错 ...
- JavaScript控制输入框中只能输入中文、数字和英文
1.问题背景 遇到这样一个问题:有一个输入框,要求只能输入中文.数字和英文(即过滤特殊字符串) 2.JS代码 function checkUsername() { //正则表达式 var reg = ...
- Django学习-6-路由系统
1.url(r'^index/', views.index), 函数处理 url(r'^home/', views.Home.as_view()), 类方法处理 ...