如何查看进程使用的磁盘IO?
磁盘的IO使用率达到100%,需要找出哪个进程使用的磁盘IO大,怎么做?
- 使用iotop命令。在使用时可能会出现以下报错,报错是说需要root用户才能执行。但是,在docker中,root用户可能没有足够的Capabilities,所以还是不能执行iotop命令,难受的一匹。此外,公司的跳板机上也不会给你root用户让你去使用,因此,用pidstat吧。
Netlink error: Operation not permitted (1)
The Linux kernel interfaces that iotop relies on now require root priviliges
or the NET_ADMIN capability. This change occured because a security issue
(CVE-2011-2494) was found that allows leakage of sensitive data across user
boundaries. If you require the ability to run iotop as a non-root user, please
configure sudo to allow you to run iotop as root.
Please do not file bugs on iotop about this.
- 使用pidstat -d命令。CentOS可以通过yum install sysstat安装,Ubuntu可以通过apt-get install sysstat安装。
sysstat介绍
Sysstat是一个非常方便的工具,它带有众多的系统资源监控工具,用于监控系统的性能和使用情况。我们在日常使用的工具中有相当一部分是来自sysstat工具包的。同时,它还提供了一种使用cron表达式来制定性能和活动数据的收集计划。
下表是包含在sysstat包中的工具
- iostat: 输出CPU的统计信息和所有I/O设备的输入输出(I/O)统计信息。
- mpstat: 关于CPU的详细信息(单独输出或者分组输出)。
pidstat: 关于运行中的进程/任务、CPU、内存等的统计信息。
sar: 保存并输出不同系统资源(CPU、内存、IO、网络、内核等。。。)的详细信息。 - sadc: 系统活动数据收集器,用于收集sar工具的后端数据。
- sa1: 系统收集并存储sadc数据文件的二进制数据,与sadc工具配合使用
- sa2: 配合sar工具使用,产生每日的摘要报告。
- sadf: 用于以不同的数据格式(CVS或者XML)来格式化sar工具的输出。
- Sysstat: sysstat工具的man帮助页面。
- nfsiostat: NFS(Network File System)的I/O统计信息。
- cifsiostat: CIFS(Common Internet File System)的统计信息。
sysstat官网链接http://sebastien.godard.pagesperso-orange.fr/index.html
github:https://github.com/sysstat/sysstat