linux系统上可以使用(centos 2.6.18-144开始支持),dstat版本至少是:dstat-0.6.7-1.rf.noarch.rpm
安装
wget -c http://linux.web.psi.ch/dist/scientific/5/gfa/all/dstat-0.6.7-1.rf.noarch.rpm
rpm -Uvh dstat-0.6.7-1.rf.noarch.rpm

使用
# dstat -M topio -d -M topbio

内核低版本的用这个Python脚本

#!/usr/bin/python
# Monitoring per-process disk I/O activity
# written by http://www.vpsee.com import sys, os, time, signal, re class DiskIO:
def __init__(self, pname=None, pid=None, reads=0, writes=0):
self.pname = pname
self.pid = pid
self.reads = 0
self.writes = 0 def main():
argc = len(sys.argv)
if argc != 1:
print "usage: ./iotop"
sys.exit(0) if os.getuid() != 0:
print "must be run as root"
sys.exit(0) signal.signal(signal.SIGINT, signal_handler)
os.system('echo 1 > /proc/sys/vm/block_dump')
print "TASK PID READ WRITE"
while True:
os.system('dmesg -c > /tmp/diskio.log')
l = []
f = open('/tmp/diskio.log', 'r')
line = f.readline()
while line:
m = re.match(\
'^(\S+)\((\d+)\): (READ|WRITE) block (\d+) on (\S+)', line)
if m != None:
if not l:
l.append(DiskIO(m.group(1), m.group(2)))
line = f.readline()
continue
found = False
for item in l:
if item.pid == m.group(2):
found = True
if m.group(3) == "READ":
item.reads = item.reads + 1
elif m.group(3) == "WRITE":
item.writes = item.writes + 1
if not found:
l.append(DiskIO(m.group(1), m.group(2)))
line = f.readline()
time.sleep(1)
for item in l:
print "%-10s %10s %10d %10d" % \
(item.pname, item.pid, item.reads, item.writes) def signal_handler(signal, frame):
os.system('echo 0 > /proc/sys/vm/block_dump')
sys.exit(0) if __name__=="__main__":
main()

最新文章

  1. webdriver中处理alert
  2. SQL语句调优 - 索引上的数据检索方法
  3. 设计模式_Iterator_迭代器模式
  4. 【HDOJ】1254 推箱子
  5. [wikioi]乘积最大
  6. 于Unity3D调用安卓AlertDialog
  7. 微信原生支付 Native扫码支付( V3.3.7 版本)
  8. 原生js写的一个弧形菜单插件
  9. ORACLE抽象数据类型
  10. javascript动画效果之多物体缓冲运动
  11. Ionic3 遇到的一些错误-Error: Cannot find module 'reflect-metadata'
  12. 在写一点关于MySQL的知识,感觉自己mmd
  13. Python字典的使用与处理
  14. JS面试Q&A(续2): Rest parameter,Arrow function 等
  15. 配置vim
  16. noi2017 day2t2
  17. 【搜索】Fliptile
  18. mysql练习题3
  19. EJB2.0 ejb-jar.xml配置文件详解
  20. java截取字符串函数

热门文章

  1. storm在linux系统下安装调试
  2. Linux shell 变量 数学 运算
  3. ubuntu中一些配置文件含义
  4. C# 如何读取一行中的所有变量
  5. AP_总体业务及方案
  6. jboss中文支持
  7. Iphone H5上传照片被旋转
  8. FW:使用weave管理docker网络
  9. jQuery对象与JS原生dom对象之间的转换
  10. acl 是一个跨平台的网络通信库及服务器编程框架