linux IO诊断命令集
IO.sh ##iostat是查看磁盘活动统计情况 ##显示全部设备负载情况 r/s: 每秒完毕的读 I/O 设备次数。即 rio/s;w/s: 每秒完毕的写 I/O 设备次数。即 wio/s等
iostat ##每隔2秒刷新磁盘IO信息,而且每次显示3次
iostat 2 3 #显示某个磁盘的IO信息
iostat -d sda1 ##显示tty和cpu信息
iostat -t ##以M为单位显示磁盘IO信息
iostat -m ##查看TPS和吞吐量信息 kB_read/s:每秒从设备(drive expressed)读取的数据量;kB_wrtn/s:每秒向设备(drive expressed)写入的数据量;kB_read:读取的总数据量;kB_wrtn:写入的总数量数据量;
iostat -d -k 1 1 #查看设备使用率(%util)、响应时间(await)
iostat -d -x -k 1 1 #查看CPU状态
iostat -c 1 3 #统计进程(pid)的stat,进程的stat自然包含进程的IO状况
pidstat #仅仅显示IO
pidstat -d 1 #-d IO 信息,-r 缺页及内存信息-u CPU使用率-t 以线程为统计单位1 1秒统计一次
pidstat -u -r -d -t 1 #文件级IO分析,查看当前文件由哪些进程打开
lsof
ls /proc/pid/fd #利用 sar 报告磁盘 I/O 信息DEV 正在监视的块设备 tps 每秒钟物理设备的 I/O 传输总量 rd_sec/s 每秒从设备读取的扇区数量 wr_sec/s 每秒向设备写入的扇区数量 avgrq-sz I/O 请求的平均扇区数
#avgqu-sz I/O 请求的平均队列长度 await I/O 请求的平均等待时间,单位为毫秒 svctm I/O 请求的平均服务时间,单位为毫秒 %util I/O 请求所占用的时间的百分比,即设备利用率
sar -pd 10 3 #iotop top的io版
iotop #查看页面缓存信息 当中的Cached 指用于pagecache的内存大小(diskcache-SwapCache)。随着写入缓存页,Dirty 的值会添加 一旦開始把缓存页写入硬盘,Writeback的值会添加直到写入结束。
cat /proc/meminfo #查看有多少个pdflush进程 Linux 用pdflush进程把数据从缓存页写入硬盘
#pdflush的行为受/proc/sys/vm中的參数的控制/proc/sys/vm/dirty_writeback_centisecs (default 500): 1/100秒, 多长时间唤醒pdflush将缓存页数据写入硬盘。默认5秒唤醒2个(很多其它个)线程。假设wrteback的时间长于dirty_writeback_centisecs的时间,可能会出问题
cat /proc/sys/vm/nr_pdflush_threads #查看I/O 调度器
#调度算法
#noop anticipatory deadline [cfq]
#deadline : deadline 算法保证对既定的IO请求以最小的延迟时间。
#anticipatory: 有个IO发生后,假设又有进程请求IO,则产生一个默认6ms推測时间,推測下一个进程请求IO是干什么。这对于随机读取会造成较大的延时。对数据库应用非常糟糕,而对于Web Server等则会表现不错。
#cfq: 对每个进程维护一个IO队列,各个进程发来的IO请求会被cfq以轮循方式处理,对每个IO请求都是公平。适合离散读的应用。
#noop: 对全部IO请求都用FIFO队列形式处理。默认IO不会存在性能问题。
cat /sys/block/[disk]/queue/scheduler #改变IO调度器
$ echo deadline > /sys/block/sdX/queue/scheduler
#提高调度器请求队列的
$ echo 4096 > /sys/block/sdX/queue/nr_requests
来自自己的github https://github.com/zhwj184/shell-work/blob/master/IO.sh
linux IO诊断命令集的更多相关文章
- linux 下 apt命令集详解
		
apt命令用法 packagename指代为软件包的名称 apt-get update 在修改/etc/apt/sources.list或/etc/apt/preferences之後运行该命令.此外您 ...
 - Linux IO控制命令生成
		
在驱动程序里, ioctl() 函数上传送的变量 cmd 是应用程序用于区别设备驱动程序请求处理内容的值.cmd除了可区别数字外,还包含有助于处理的几种相应信息. cmd的大小为 32位,共分 4 个 ...
 - Linux中IO监控命令的使用分析
		
一篇不错的有关linux io监控命令的介绍和使用. 1.系统级IO监控 iostat iostat -xdm 1 # 个人习惯 %util 代表磁盘繁忙程度.100% 表示磁盘 ...
 - HexEdit Linux下命令集
		
HexEdit Linux下命令集 HexEdit是一款十六进制的编辑器. 移动(Moving) , 移动到文件首部/尾部(go to start/end of the file) → 下一个字符(n ...
 - Linux操作系统常用命令合集——第五篇-磁盘和文件系统操作(15个命令)
		
1.fdisk [命令作用] 用于观察硬盘实体使用情况.也可以对硬盘分区. 对于一块硬盘来讲,最多只能管理15个分区 [命令语法] fidisk [选项] [参数] [常用选项] -b& ...
 - Linux操作系统常用命令合集——第三篇-系统管理操作(25个命令)
		
1.whoami [命令作用] 显示当前登录有效用户名称 [命令语法] whoami [选项] [常用选项] 无 [参数说明] 用户名称 [命令示例] 显示当前登录有效用户名称 # whoam ...
 - Linux操作系统常用命令合集——第一篇-文件和目录操作(40个命令)
		
一.选项和参数的区别 在经过上一次的系统安装后我们已经成功登陆,登陆LInux后,我们就可以在#或$符后面去输入命令,有的时候命令后面还会跟着“选项”(英文名:options)或“参数” ...
 - Linux系统常用命令权威指南
		
<一>线上查询及帮助命令(2)1.man man [选项] [命令] 查看命令帮助,命令的词典,更复杂的还有info,但不常用. #man cd-a 显示所有的手册页,不只是显示第一个-f ...
 - linux后端诊断与调试技术
		
本文不是liunx命令使用教程,也不打算全方面阐明其用法,互联网公司项目很多,服务程序之间相互依赖调用很复杂,各种因素会影响线程服务正常运行,特别是基础服务组件更是如此,当出现各种问题时,如何诊断li ...
 
随机推荐
- MarkupExtension的使用
			
记得第一次看到MarkupExtension是在几年前的一次面试中.很不好意思说,当时不知道是什么东东.最近在项目中又用到了WPF的这个功能,决定在博客里记录一下. 在Xaml中为某个对象以Attri ...
 - BZOJ1954: Pku3764 The xor-longest Path
			
题解: 在树上i到j的异或和可以直接转化为i到根的异或和^j到根的异或和. 所以我们把每个点到根的异或和处理出来放到trie里面,再把每个点放进去跑一遍即可. 代码: #include<cstd ...
 - set xact_abort 用法
			
默认行为 默认为SET XACT_ABORT OFF,没有事务行为. SET XACT_ABORT ON SET XACT_ABORT ON分为两种: 1.总体作为一个事务,整体提交或整体回滚,格式为 ...
 - Android访问C#的WebService要注意的问题
			
@Overrideprotected String doInBackground(Object... params) { // 根据命名空间和方法得到SoapObject对象 SoapObject s ...
 - PHPUNIT 单元测试
			
在windows上的安装可以参考其手册 首先下载phpunit.phar文件 1. 为php的二进制可执行文件建立 一个目录,如C:\bin 2. 将C:\bin添加到系统环境变量中, 3. 打开命令 ...
 - 【 D3.js 高级系列 — 5.1 】 颜色插值和线性渐变
			
颜色插值指的是给出两个 RGB 颜色值,两个颜色之间的值通过插值函数计算得到.线性渐变是添加到 SVG 图形上的过滤器,只需给出两端的颜色值即可. 1. 颜色插值 在[高级 - 第 5.0 章]里已经 ...
 - HDU 5700 区间交 线段树暴力
			
枚举左端点,然后在线段树内,更新所有左边界小于当前点的区间的右端点,然后查线段树二分查第k大就好 #include <cstdio> #include <cstring> #i ...
 - 设计模式_Observer_观察者模式
			
形象例子: 想知道咱们公司最新MM情报吗?加入公司的MM情报邮件组就行了,tom负责搜集情报,他发现的新情报不用一个一个通知我们,直接发布给邮件组,我们作为订阅者(观察者)就可以及时收到情报啦.观察者 ...
 - 关于java环境配置的问题
			
在以前刚开始接触Java环境配置问题的时候,配置了一大串的字符串,所有的路径全部在一个path变量里面,特别冗杂. 由于这两天重新再装了一个版本的JDK结果出现毛病了,就只有重新配置该环境变量,结果又 ...
 - 《C++ Primer Plus 第六版》读书笔记
			
CH1-3:处理数据 1 列表初始化 char c={31325}:不允许缩窄 char c={66}; char c={x}:不能为变量 2 强制类型转换 (typename) value type ...