Linux下的IO检测工具最常用的是iostat,不过iostat只能查看到总的IO情况。如果要细看具体那一个程序点用的IO较高,可以使用iotop 。不过iotop对内核版本和Python版本有要求,虽然目前主流的CentOS和Ubuntu版本上都适用。不过考虑到其无法适用的场景,推荐个可以查看程序IO使用情况的工具iopp作为替代方案。
 
安装iopp
安装编译工具
 
$ yum install cmake
编译安装iopp
 
$ git clone https://github.com/markwkm/iopp.git
$ cd iopp
$ cmake CMakeLists.txt
$ make && make install
如需指定安装位置,可按如下方法
 
# 指定安装的目标路径到/usr/bin下
$ make install DESTDIR=/usr
注:默认安装目录位置为/bin/iopp
 
使用iopp
iopp语法
 
$ iopp --help
usage: iopp -h|--help
usage: iopp [-ci] [-k|-m] [delay [count]]
            -c, --command display full command line #显示完整命令行
            -h, --help display help #显示帮助信息
            -i, --idle hides idle processes #隐藏空闲进程
            -k, --kilobytes display data in kilobytes #以KB为单位显示数据
            -m, --megabytes display data in megabytes #以MB为单位显示数据
            -u, --human-readable display data in kilo-, mega-, or giga-bytes #以方便读的方式显示数据
 
列出进程并隐藏I/O空闲的进程
$ iopp -i -k -c 1
  pid rchar wchar syscr syscw rkb wkb cwkb command
  pid rchar wchar syscr syscw rkb wkb cwkb command
 9311 31 0 0 0 0 0 0 iopp
  pid rchar wchar syscr syscw rkb wkb cwkb command
 9311 31 0 0 0 0 0 0 iopp
  pid rchar wchar syscr syscw rkb wkb cwkb command
 9311 31 0 0 0 0 0 0 iopp
  pid rchar wchar syscr syscw rkb wkb cwkb command
 9311 31 0 0 0 0 0 0 iopp
  pid rchar wchar syscr syscw rkb wkb cwkb command
 9311 31 0 0 0 0 0 0 iopp
  pid rchar wchar syscr syscw rkb wkb cwkb command
 9311 31 0 0 0 0 0 0 iopp
  pid rchar wchar syscr syscw rkb wkb cwkb command
  395 0 0 0 0 0 4 0 jbd2/dm-0-8
 1229 0 1 0 0 0 8 0 auditd
 1251 0 0 0 0 0 4 0 /sbin/rsyslogd
 1498 110 0 0 0 0 4 0 crond
 9311 31 0 0 0 0 0 0 iopp
 
iopp输出的结果解释如下
pid 进程ID
rchar 将要从磁盘读取的字节数
wchar 已经写入或应该要写入磁盘的字节数
syscr 读I/O次数
syscw 写I/O次数
rbytes 真正从磁盘读取的字节数
wbytes 真正写入到磁盘的字节数
cwbytes 因为清空页面缓存而导致没有发生操作的字节数
command 执行的命令

Linux下查看进程IO工具iopp的更多相关文章

  1. linux下查看进程占用端口和端口占用进程命令

    Linux下查看进程占用端口: 查看程序对应进程号:ps –ef|grep 进程名 REDHAT :查看进程号所占用的端口号:netstat –nltp|grep 进程号 ubuntu:查看进程占用端 ...

  2. linux下查看进程路径

    在linux下查看进程大家都会想到用 ps -ef|grep XXX可是看到的不是全路径,怎么看全路径呢?每个进程启动之后在 /proc下面有一个于pid对应的路径例如:ps -ef|grep pyt ...

  3. Linux下查看进程的命令输出的内容解释

    Linux下查看进程的命令输出的内容解释 ps (process status) ps -e 或者ps -A (-e和-A完全一样) PID           TTY         TIME   ...

  4. linux 下查看进程占用端口和端口号占用进程命令

    linux 下查看进程占用端口:(1)查看程序对应的进程号: ps -ef | grep 进程名字 (2)查看进程号所占用的端口号: netstat -nltp | grep  进程号 ubuntu ...

  5. linux下查看进程的状态 /proc/[pid]/status

    查看进程的状态: 1.查看进程的pid,以java为例:ps -ef | grep java 2.查看进程状态:cat /proc/[pid]/status 关键字: linux [root@loca ...

  6. linux 下的进程管理工具 supervisor

    在linux下监控进程: 1)yum install python-setuptools   linux下的python安装工具 2)easy_install supervisor     安装sup ...

  7. Linux下查看进程占用内存的最好方式

    今天看到stackoverflow上关于linux下如何查看某个进程占用的内存是多少的回答,觉得非常棒,不过是全英文的,很多人可能看不懂,所以我翻译一下 翻译自http://stackoverflow ...

  8. Linux下查看进程打开的文件句柄数和如何修改

    修改文件句柄数在Linux下,我们使用ulimit -n 命令可以看到单个进程能够打开的最大文件句柄数量(socket连接也算在里面).系统默认值1024. 对于一般的应用来说(象Apache.系统进 ...

  9. Linux下查看进程和线程

    在linux中查看线程数的三种方法 1.top -H 手册中说:-H : Threads toggle 加上这个选项启动top,top一行显示一个线程.否则,它一行显示一个进程. 2.ps xH 手册 ...

随机推荐

  1. phpstorm 激活方法

    1.本地破解激活(推荐) 下载JetbrainsCrack-2.5.6.jar 链接: http://pan.baidu.com/s/1miPpE2k 密码: w3yc 放到phpstorm安装目录下 ...

  2. 【linux驱动分析】misc设备驱动

    misc设备驱动.又称混杂设备驱动. misc设备驱动共享一个设备驱动号MISC_MAJOR.它在include\linux\major.h中定义:         #define MISC_MAJO ...

  3. HDOJ 5087 Revenge of LIS II DP

    DP的时候记录下能否够从两个位置转移过来. ... Revenge of LIS II Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: ...

  4. excle查找操作-vlookup的使用心得

    百度了一下vlookup的语法规则: 该函数的语法规则例如以下: VLOOKUP(lookup_value,table_array,col_index_num,range_lookup) 參数 简单说 ...

  5. Map, filter and reduce

    To add up all the numbers in a list, you can use a loop like this: Total is initialized to 0. Each t ...

  6. Hadoop框架基础(三)

    ** Hadoop框架基础(三) 上一节我们使用eclipse运行展示了hdfs系统中的某个文件数据,这一节我们简析一下离线计算框架MapReduce,以及通过eclipse来编写关于MapReduc ...

  7. Storm框架基础(一)

    * Storm框架基础(一) Storm简述 如果你了解过SparkStreaming,那么Storm就可以类比着入门,在此我们可以先做一个简单的比较:  在SparkStreaming中: 我们曾尝 ...

  8. 机器学习规则:ML工程最佳实践----rules_of_ml section 2【翻译】

    作者:黄永刚 ML Phase II: 特征工程 第一阶段介绍了机器学习的一个周期,为学习系统获取训练数据,通过有趣的引导设计指标,创建一个服务框架.在有了一个完整系统之后,就进入了第一阶段. 第二阶 ...

  9. Git放弃本地更改恢复到资源库版本

    使用git版本控制工具在本地clone一份代码后,如果发现修改错误想恢复到资源库版本,下面两行可以轻松加愉快的搞定: git clean -xdf git checkout -f git的更多详细用法 ...

  10. Ajax的几种形式 和使用情况

    Ajax的几种形式: 1       $.get( "Login.ashx", {Name:name,Pwd:pwd,action:x}, function(data){这里用da ...