当前位置: 技术问答>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不能查看哪个进程!!
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次数
好像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资源的。
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。