查看linux进程的设备io,Linux下查看进程IO工具iopp

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下查看进程占用端口和端口占用进程命令

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

linux下查看进程路径

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

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

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

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

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

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

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

linux 下的进程管理工具 supervisor

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

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

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

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

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

Linux下查看进程和线程

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

随机推荐

5天揭秘js高级技术-第二天

一.数组 1. 什么是数组? 数组就是一组数据的集合: 其表现形式就是内存中的一段连续的内存地址: 数组名称其实就是连续内存地址的首地址: 2. 关于js中的数组定义 数组定义无需指定数据类型: 数组 ...

Linux添加主机路由

Linux添加主机路由:参考:http://zhidao.baidu.com/link?url=50qQ232ZiJqq1iftHvBdPzZh-JlQGi1DZ8wvF-j9dvQYsKiNgc-6 ...

<;转>;boost 1.53 and STLPort build binary for windows

1.编译STLPort:    1.1 .开始菜单运行vs2008的命令行工具    1.2.进入E:\00.CODE.SDK\STLport-5.2.1\    1.2.运行configure ...

select中无法使用click的处理

今天工作用到了select,想要给option添加click点击事件,可是却没有任何效果,百度了才发现,原来竟然是不支持呀! 众所周知(其实我才知道哎),在IE里, select的option是不支持 ...

Linux 内核同步机制

本文将就自己对内核同步机制的一些简要理解,做出一份自己的总结文档.     Linux内部,为了提供对共享资源的互斥访问,提供了一系列的方法,下面简要的一一介绍. Technorati 标签: ...

html元素

类型 HTML元素 描述 主窗体元素 超文本的开始和结束

超文本信息头的开始和结束

微信小程序,超能装的实例教程

序言 开始开发应用号之前,先看看官方公布的「小程序」教程吧!(以下内容来自微信官方公布的「小程序」开发指南) 本文档将带你一步步创建完成一个微信小程序,并可以在手机上体验该小程序的实际效果.这个小程序 ...

SERVLET中的doGet与doPost两个方法之间的区别

get和post是http协议的两种方法,另外还有head, delete等 这两种方法有本质的区别,get只有一个流,参数附加在url后,大小个数有严格限制且只能是字符串.post的参数是通过另外的 ...

GIT的使用中的问题处理

GIT 的常规操作 常规操作也是我自己平时常用的几个命令, 学自于 pro git 这本书中 git 配置文件 git的配置文件位置针对所有用户:/etc/gitconfig针对当前用户: -/.gi ...

KNN和Kmeans聚类有什么不同?

这两种算法之间的根本区别是,Kmeans本质上是无监督学习而KNN是监督学习.Kmeans是聚类算法,KNN是分类(或回归)算法. Kmeans算法把一个数据集分割成簇,使得形成的簇是同构的,每个簇里 ...

你可能感兴趣的:(查看linux进程的设备io)