磁盘I/O高居不下,通过什么来查看占用I/O的进程?

iotop命令是一个用来监视磁盘I/O使用状况的top类工具。iotop具有与top相似的UI,其中包括PID、用户、I/O、进程等相关信息。Linux下的IO统计工具如iostat,nmon等大多数是只能统计到per设备的读写情况,如果你想知道每个进程是如何使用IO的就比较麻烦,使用iotop命令可以很方便的查看。 iotop使用Python语言编写而成,要求Python2.5(及以上版本)和Linux kernel2.6.20(及以上版本)。iotop提供有源代码及rpm包

yum install iotop -y 即可安装

命令选项

-o:只显示有io操作的进程

-b:批量显示,无交互,主要用作记录到文件。

-n NUM:显示NUM次,主要用于非交互式模式。

-d SEC:间隔SEC秒显示一次。

-p PID:监控的进程pid。

-u USER:监控的进程用户。

范例

# iotop -o

Total DISK READ: 0.00 B/s | Total DISK WRITE: 195.81 M/s
  TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN     IO>    COMMAND                                                                
64250 be/4 root        0.00 B/s    8.97 M/s  0.00 % 99.99 % [flush-8:0]
64267 be/4 root        0.00 B/s  197.79 M/s  0.00 % 87.11 % dd if=/dev/zero of=/tmp/1G bs=1M count=3000
  411 be/3 root        0.00 B/s   35.60 K/s  0.00 % 63.68 % [jbd2/sda3-8]

#iotop 会列出所有进程按照IO占用的从大到小排序。

可以通过命令选项交互式切换显示方式

#iotop -o 更人性化一些,只列出占用IO最高的,并且用占用情况的。

时间: 2024-08-10 21:22:52

磁盘I/O高居不下,通过什么来查看占用I/O的进程?的相关文章

windows 下查看 占用8080端口的进程

Windows下查看进程及结束进程命令 1)查看占用8080端口的进程号 >netstat –aon | findstr “8080” 结果:TCP    0.0.0.0:8080           0.0.0.0:0              LISTENING       3500 可知,进程号为3500的进程占用了8080端口 可以使用命令 tasklist | findstr “3500”进一步查看3500进程的具体信息. > tasklist | findstr “3500” 结果

如何在Windows Server 2008 R2没有磁盘清理工具的情况下使用系统提供的磁盘清理工具

今天,刚好碰到服务器C盘空间满的情况,首先处理了临时文件和有关的日志文件后空间还是不够用,我知道清理C盘的方法有很多,但今天只分享一下如何在Windows Server 2008 R2没有磁盘清理工具的情况下使用系统提供的磁盘清理工具. 一.在Windows Server 2008 R2,右击C盘,选择属性,弹出下面的界面: 即没有下面清理C盘的工具: 那如何使用系统自带的清理工具呢. 二.驱动器的常规属性和 cleanmgr.exe 磁盘清理选项不是默认情况下出现在 Windows Serve

Azure迁移托管磁盘虚拟机到新账号下

先决条件: 导出托管磁盘VHD文件到存储账户时,需要关闭虚拟机操作.同时,请您记录好哪些是OS磁盘,哪些是数据磁盘. 官方参考文档: https://docs.azure.cn/zh-cn/articles/azure-operations-guide/virtual-machines/aog-virtual-machines-howto-export-managed-diskshttps://docs.azure.cn/zh-cn/storage/common/storage-use-azco

Linux下常用的系统性能查看分析工具

Linux中,很多很全面显示系统当前运行状态,负载,I/O等信息的工具,帮助管理员实时了解系统运行动态,以及排除故障. ps命令:显示进程状态,快照方式显示. 进程分为两类:一类是用户通过终端启动的进程,一类是与终端无关的进程,多为守护进程. ps命令支持两种风格的命令:SysV风格 BDS风格.带横线的是SysV风格. ps命令选项:     a  :与终端有关的进程     x  : 与终端无关的进程     u  : 显示是哪个用户启动的       -e : 显示所有进程     -f 

Linux下使用top/vmstat查看系统资源

vmstat 命令是常见的Linux性能监控工具,报告关于内核线程.虚拟内存.磁盘.陷阱和 CPU 活动的统计信息.由 vmstat 命令生成的报告可以用于平衡系统负载活动.系统范围内的这些统计信息(所有的处理器中)都计算出以百分比表示的平均值,或者计算其总和. vmstat使用 一般vmstat工具的使用是通过两个数字参数来完成的,第一个参数是采样的时间间隔数,单位是秒,第二个参数是采样的次数. top使用 区别top命令 top命令用于显示系统当前的进程和其他状况:top是一个动态显示过程,

QT下资源使用和资源占用…(可以动态加载资源文件,这样不占内存)

原文地址:关于QT下资源使用和资源占用内存过多的问题作者:技术成就梦想 最近研究了一下如何从外部动态调用图片的问题,从而研究了图片资源的使用方法.网上最常见的帖子是这个,感觉总结的还不错. http://www.cnblogs.com/lzjsky/archive/2012/08/20/2647471.html 总的来说,就两种方式. 一种就是使用qrc资源文件,也就是在QT的工程中添加资源文件,这个方法比较简单容易操作,对于初学者来说比较容易上手,在资源比较少的时候可以使用.但是也有它的缺点,

Linux下查看端口,强制kill进程

1.查看8088端口被哪个进程占用:netstat -apn | grep 8088 2.强制kill某一进程:kill -s 9 1827 Linux下查看端口,强制kill进程

发现一个好用的Android文件访问工具--es文件管理器,可以在同局域网下的浏览器中查看手机中的文件

如题,发现一个好用的Android文件访问工具--es文件管理器,可以在同局域网下的浏览器中查看手机中的文件 1.在手机上打开es文件管理器的远程管理器,如图:                   2.保证手机和电脑在同一个局域网下(有线或者Wifi都可以) 贴一下我的地址: (1)我电脑的IP地址(有线宽带连接): (2)手机的地址(Wifi): 3.在别的手机或者电脑上打开上面的Url(我的是:ftp://192.168.1.115:3721/),打开后就是这样的: 3. 看一下刚才在手机上

windows下揪出java程序占用cpu很高的线程 并找到问题代码 死循环线程代码

我的一个java程序偶尔会出现cpu占用很高的情况 一直不知道什么原因 今天终于抽时间解决了 系统是win2003 jvisualvm 和 jconsole貌似都只能看到总共占用的cpu 看不到每个线程分别占用的cpu呢 所以在windows平台上要找出到底是哪个线程占用的cpu还不那么容易,linux用top就简单多了 最后的解决方法: 1.找到java进程对应的pid. 找pid的方法是:打开任务管理器,然后点击 "查看" 菜单,然后点击 "选择列",把pid勾