当前位置:  技术问答>linux和unix

怎么查看linux的哪个进程占用磁盘io较多?

    来源: 互联网  发布时间:2016-07-21

    本文导语:  怎么查看linux的哪个进程占用磁盘io较多? iotop没装(不考虑) iopp不好使(没响应) pid    rchar    wchar    syscr    syscw      rkb      wkb     cwkb command   pid    rchar    wchar    syscr    syscw  ...

怎么查看linux的哪个进程占用磁盘io较多?

iotop没装(不考虑)
iopp不好使(没响应)
pid    rchar    wchar    syscr    syscw      rkb      wkb     cwkb command
  pid    rchar    wchar    syscr    syscw      rkb      wkb     cwkb command
  pid    rchar    wchar    syscr    syscw      rkb      wkb     cwkb command

iostat不能查看哪个进程!!

|
/proc/$PID/io

|
/proc/进程号/stat下面不是有么?
好像vmstat也能显示io次数

|
 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()

|
top命令,看CPU的占用率,一般IO是比较占CPU资源的。

    
 
 

您可能感兴趣的文章:

  • SunOS solaris 系统维护-查看cpu、内存、磁盘空间的命令
  • AIX系统如何查看当前用户所分配的磁盘空间
  • Redhat linux 9下如何查看磁盘剩余空间?
  • 如何查看磁盘使用情况?
  • 在Solaris中用什么命令查看磁盘空间及空闲空间
  • 请教:在HP-UX系统下如何查看磁盘阵列的容量
  • 怎么查看磁盘空间的使用情况?
  • 查看目录剩余磁盘空间大小
  • 请教如何才能查看某个目录占用了多少磁盘空间?
  • 如何在red hat 8.0下查看正在频繁使用磁盘(或者是cpu的)进程是哪个???
  • 请问 如何查看一个目录下各个子目录所占用的磁盘空间??
  • redhat9.0 如何查看磁盘剩余空间?
  • fc14 分区大小查看 及 增加/目录磁盘空间??
  • linux 查看某账户使用的磁盘空间
  • LINUX系统下如何查看WINDOWS系统C盘的磁盘空间使用情况?
  • Linux下每天自动执行查看磁盘剩余空间的shell文件
  • 使用df -lf命令查看磁盘情况,看不懂linux系统安装在哪里了?
  • SCO下如何查看磁盘使用情况?
  • 如何查看一个目录的占用空间和一个进程的占用内存情况
  • 通过c程序写代码怎么查看进程是不是存在了?怎么查看该进程占用的内存是多少?
  • 可执行文件的内存占用空间 = 查看???
  • linux下怎么查看一个端口被哪个程序占用了
  • linux下怎么查看一个目录下所有文件所占用的空间?
  • 如何编程查看 cpu 内存 占用情况
  • 如何查看tcp端口占用的应用
  • Linux下怎样查看一个文件夹占用了多少空间?
  • 请问如何查看端口被占用情况?
  • Redhat 9.0下面查看某个进程占用内存的命令是什么,知道的告诉一下啊。
  • 请问如何查看UNIX系统下的CPU的占用率,以及硬盘的占用情况。
  • linux下如何查看某进程占用内存情况?
  • aix机,iostat查看iowait占用极高,致使进不了系统了,急救!!
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Ubuntu查看内存,进程相关命令介绍
  • 如何查看一个进程有几个子进程?
  • 请教关于linux查看进程后如何确定该程序位置的问题? iis7站长之家
  • a 请问怎样查看服务器上的telnet进程,及远程telnet进程的ip
  • 用ps x 查看进程时如何显示进程的全路径?
  • sco unix用什么命令来查看进程?
  • 可以查看某个进程里面的线程不?[
  • 关于查看死进程的问题
  • oracle查看被锁的表和被锁的进程以及杀掉这个进程
  • 如何查看某个进程的cpu使用和内存使用情况????
  • 请教关于linux查看进程后如何确定该程序位置的问题?
  • shell里如何查看进程组ID
  • 如何根据进程名字来查看状态
  • 怎样查看当前正在运行的进程?
  • linux 下如何查看某个进程加载了那些库?
  • 怎样查看我自己的进程对系统的内存和cpu的占有量呢
  • 如何查看已经结束的进程啊。。。
  • 请教查看某个特定进程内存消耗情况的命令,急!
  • 求ps查看进程的系统 源代码
  • linux如何查看执行中的进程的输出情况?
  • 如何查看各进程CPU,内存利用率总和?
  • redhat/centos 常用信息查看命令整理
  • unix在终端下如何查看如何查看 光盘里的内容? 如何进入光盘所在目录? 用什么命令可以查看光盘里文件的目录?
  • Ubuntu查看系统信息命令介绍
  • linux 命令执行结束后,想查看结果,但部分结果已经被覆盖,如何查看?
  • Ubuntu查看硬盘,分区相关命令介绍
  • ls查看时,查看到的4294967294 啥意思,熊猫请进
  • resin及jetty介绍以及如何 查看他们的版本号
  • linux命令问题 输入一个查看命令(比如help) 显示满屏后 我怎么查看上一页的显示
  • mysql中如何查看最大连接数(max_connections)和修改最大连接数
  • linux能不能像xp那样子以幻灯片方式查看图片。我在一个文件夹里面有几张图片,想进行挑选。用幻灯片查看的方式比较方便


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3