Iotop—Linux上监控磁盘I/O的利器详细使用说明
nanshan 2024-10-22 13:03 171 浏览 0 评论
Iotop 工具是一个免费的开源免费工具,用于监控 Linux 中的磁盘输入/输出 (IO) 使用情况。它可以帮助系统管理员找到消耗更多磁盘使用的特定进程,并有助于性能分析。
从 2.6.20 内核开始支持 Iotop 工具。本教程介绍了如何在 linux 中安装和使用 iotop。
先决条件
Iotop 安装需要低于最低版本的 python 和内核。
Python >= 2.7
Linux 内核 ≥ 2.6.20
在 Linux 上安装 iotop
让我们看看如何在 CentOS、Ubuntu、Fedora、Debian 和 Linux Mint 上安装 iotop。
在 Ubuntu、Debian 和 Linux Mint 上
#sudo apt-get install iotop
在 CentOS、Fedora 和 RHEL 上
#sudo yum -y install iotop
or
#sudo dnf install iotop
另一种选择是通过下载 gzipped 或 bzipped 文件并解压缩来从源代码安装。然后使用“setup.py”文件安装。iotop 是用 Python 编写的,它是 iotop 安装的先决条件。
使用以下命令提取和安装 iotop:
# tar -xjvf iotop-0.4.4.tar.bz2
# cd iotop-0.4.4/
# ./setup.py install
iotop 用法
iotop 命令必须以 root 用户身份运行。作为普通用户,当您运行此命令时,会出现以下错误:
$ iotop
Netlink error: Operation not permitted (1)
iotop requires root or the NET_ADMIN capability.
默认情况下,iotop 是一个类似于top 命令的交互式命令。
样本输出:
Total DISK READ : 0.00 B/s | Total DISK WRITE : 0.00 B/s
Actual DISK READ: 0.00 B/s | Actual DISK WRITE: 0.00 B/s
TID PRIO USER DISK READ DISK WRITE SWAPIN IO> COMMAND
1 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % systemd --switched-root --system --deserialize 17
2 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kthreadd]
3 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [rcu_gp]
4 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [rcu_par_gp]
6 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kworker/0:0H-kblockd]
8 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [mm_percpu_wq]
9 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [ksoftirqd/0]
10 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [rcu_sched]
11 rt/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [migration/0]
12 rt/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [watchdog/0]
13 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [cpuhp/0]
15 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kdevtmpfs]
16 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [netns]
17 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kauditd]
18 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [khungtaskd]
19 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [oom_reaper]
20 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [writeback]
21 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kcompactd0]
22 be/5 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [ksmd]
23 be/7 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [khugepaged]
24 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [crypto]
在此输出中,在最顶部,第一行分为两列。
第一列显示每秒total DISK READ,第二列显示total DISK WRITE每秒。
以下几行对应于每个执行 IO 操作的进程。它列出了系统中每个进程的进程 ID、用户所有权、磁盘读取、磁盘写入、进程名称、swapin(每个进程的交换使用情况)。
如果您只想列出实际上正在执行任何磁盘 I/O 操作的活动进程,请在 iotop 运行时按 o(切换),或者使用-o选项 (iotop -o) 运行 iotop。
Total DISK READ : 0.00 B/s | Total DISK WRITE : 3.97 K/s
Actual DISK READ: 0.00 B/s | Actual DISK WRITE: 59.50 K/s
TID PRIO USER DISK READ DISK WRITE SWAPIN IO> COMMAND
1240 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.02 % rsyslogd -n [rs:main Q:Reg]
400 be/3 root 0.00 B/s 0.00 B/s 0.00 % 0.01 % [jbd2/sda-8]
1236 be/4 root 0.00 B/s 3.97 K/s 0.00 % 0.00 % rsyslogd -n [in:imjournal]
您可以通过按 退出 iotop 和 top 一样q。
以下输出是在运行任何 io 密集型进程时,例如 iozone。
Total DISK READ: 123.96 K/s | Total DISK WRITE: 14.16 M/s
TID PRIO USER DISK READ DISK WRITE SWAPIN IO> COMMAND
468 be/3 root 0.00 B/s 104.59 K/s 0.00 % 56.66 % [jbd2/sda8-8]
7083 be/4 root 0.00 B/s 13.80 M/s 0.00 % 36.45 % ./iozone -a
5568 be/4 raghu 123.96 K/s 0.00 B/s 0.00 % 0.00 % totem /home/raghu/Downloads/01 - Harjinder Singh - Mere Ram Rai.mp3
Iotop 选项
如上所述,该-o选项列出了实际执行磁盘 I/O 的进程。该-b选项以非交互式批处理模式运行 iotop。它可用于记录目的。
-n选项告诉批处理模式要执行的迭代次数:
# iotop -b -n1
Total DISK READ: 0.00 B/s | Total DISK WRITE: 0.00 B/s
TID PRIO USER DISK READ DISK WRITE SWAPIN IO COMMAND
1 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % init
2 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kthreadd]
3 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [ksoftirqd/0]
2052 be/4 rtkit 0.00 B/s 0.00 B/s 0.00 % 0.00 % rtkit-daemon
2053 be/4 rtkit 0.00 B/s 0.00 B/s 0.00 % 0.00 % rtkit-daemon
6 rt/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [migration/0]
7 rt/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [watchdog/0]
8 rt/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [migration/1]
2057 be/4 raghu 0.00 B/s 0.00 B/s 0.00 % 0.00 % gconfd-2
10 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [ksoftirqd/1]
11 rt/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [watchdog/1]
---Output Truncated---
该-u选项显示特定用户的进程。
# iotop -u raghu
Total DISK READ: 0.00 B/s | Total DISK WRITE: 0.00 B/s
TID PRIO USER DISK READ DISK WRITE SWAPIN IO> COMMAND
2057 be/4 raghu 0.00 B/s 0.00 B/s 0.00 % 0.00 % gconfd-2
2081 be/4 raghu 0.00 B/s 0.00 B/s 0.00 % 0.00 % gvfs-afc-volume-monitor
2082 be/4 raghu 0.00 B/s 0.00 B/s 0.00 % 0.00 % caja
2139 be/4 raghu 0.00 B/s 0.00 B/s 0.00 % 0.00 % clock-applet
2084 be/4 raghu 0.00 B/s 0.00 B/s 0.00 % 0.00 % matecomponent-activation-server --ac-activate --ior-output-fd=18
2087 be/4 raghu 0.00 B/s 0.00 B/s 0.00 % 0.00 % mate-bluetooth-applet
2088 be/4 raghu 0.00 B/s 0.00 B/s 0.00 % 0.00 % mate-volume-control-applet
7247 be/4 raghu 0.00 B/s 0.00 B/s 0.00 % 0.00 % chromium-browser --disable-new-tab-first-run --enable-user-scripts
2055 be/4 raghu 0.00 B/s 0.00 B/s 0.00 % 0.00 % gconf-helper
-d选项设置迭代之间的延迟。
# iotop -d 3
最后,该--version选项打印 iotop 的版本号。
# iotop --version
iotop 0.4.4
Iotop 关键字快捷键
让我们检查一些使用 iotop 的有用的关键字快捷方式。
向左或向右移动箭头键以更改排序。
-h :- 查看使用信息的选项。
-r :- 反转排序顺序的选项。
-o :- 检查进程或线程的选项。
-b :- 打开非交互模式以启用记录 I/O 使用的选项。
-p :- PID 列出所有要监控的进程/线程。
-u :- USER 选项列出所有要监视的用户。
-P :- 仅列出进程的选项。通常 iotop 会显示所有线程。
-a :- 检查累积 I/O 而不是带宽的选项。
结论
当系统使用高磁盘 IO 或高交换使用率时,iotop 是性能分析必不可少的一把利器。
我新建了个技术微信群,欢迎同行扫码进入
喜欢的朋友记得给个关注~
相关推荐
- 提升网络安全 cisco asa5512-k8防火墙促
-
(中关村在线网络安全行情)ciscoasa5512-k8为标准下一代防火墙,能够为中小型网络提供出色的安全防护和流量管控服务。最近这款防火墙设备在京东商城的促销价格为14299元,有需要的用户可以关注...
- 太一星晨:负载均衡性能参数如何测评?
-
海外网2014-08-0816:03:568月6日消息,当前,在云计算和大数据为主导的需求环境下,负载均衡和应用交付已为大型企业数据中心“保驾护航”的必备品。不过,负载均衡作为一种比较“新奇”的设备...
- Nginx架构揭秘:如何用5大核心机制扛住百万级并发
-
1.灵魂拷问:为什么全球Top1000网站中65%选择Nginx?17Nginx不仅是Web服务器,更是高并发架构的核武器。其单机支持10万+并发连接的秘密,源于三大设计哲学:事件驱动模型:非阻塞...
- 高并发场景下,Nginx性能如何提升10倍?
-
大家好,我是mikechen。在高并发场景,Nginx是流量入口的第一道防线,如果想拦截亿级流量,需要Nginx合理调优才能应对@mikechen。本文作者:陈睿|mikechen文章来源:mike...
- 紧急避坑!数据库突现数十GB临时文件?原因与根治方案揭秘
-
引言:某天深夜,运维小王突然收到磁盘爆满的告警,追踪发现Kingbase数据库的syssql_tmp目录竟堆积了数十GB的临时文件!这些神秘文件为何产生?会引发哪些风险?如何彻底根治?本文将带你深入探...
- 互联网大厂后端必看!3 步搞定 Nginx IP 限流,服务器扛住百万流量
-
作为互联网大厂的后端开发人员,你是否曾遇到过这样的场景:服务器突然涌入大量请求,服务响应速度急剧下降,甚至出现崩溃?这时候,Nginx的IP访问限流策略就显得尤为重要。然而,不少开发者在配置N...
- MySQL max_connections 达到最大值 – 我们如何解决它
-
您的网站是否显示MySQLmax_connections达到最大限制错误?通常,当我们尝试连接到MySQL服务器时,MySQLmax_connections值不足会导致“Tooma...
- Nginx百万并发背后技术揭秘!(nginx并发能力是多少)
-
在互联网业务高速发展的今天,用户访问量呈指数级增长,服务器面临的并发压力也越来越大。一个高并发的网站,如果处理不当,可能会出现请求超时、服务器宕机、用户体验下降等问题。Nginx作为当前最流行的高性...
- Nginx底层原理:一文解析Nginx为什么并发数可以达到3w!
-
Nginx以其高性能,稳定性,丰富的功能,简单的配置和低资源消耗而闻名。本文从底层原理分析Nginx为什么这么快!Nginx的进程模型Nginx服务器,正常运行过程中:多进程:一个Mast...
- Nginx合集-并发连接能力优化(nginx高并发调优)
-
一、前言nginx服务器老是报告TIME_WAIT告警,ESTABLISHED告警,检查nginx配置和系统网络配置发现现有的配置并发能力太弱,无法满足现有的并发请求的需求。二、解决方法改进方法...
- 开源OS上安装Gnome Flashback经典桌面
-
1安装GnomeFlashback对于用户来说,相比Unity桌面,GnomeFlashback桌面环境是一个简单的并且不错的选择,可以让你找回过去经典的桌面。GnomeFlashback基于G...
- 新手篇 — 虚拟机系统的使用与常见问题
-
本文章会详细介绍虚拟机系统的使用与常见问题,有很多读者都会遇到这样的情况,软件装不上,自己的电脑中软件很多,又不想换电脑系统,那么虚拟机可以帮你解决这个烦恼,由于文章内容写的比较详细,内容会比较多,可...
- VMware虚拟机与主机之间无法复制粘贴解决
-
问题:VMware安装系统后发现无法直接与主机之间进行复制粘贴了,怎么办?解决办法:按照以下3步进行1、设置中客户机隔离检查2、重新安装VMwareTools3、重启电脑...
- 实现VMware虚拟机与物理主机共享文件夹
-
在安装虚拟机之后,难免会遇到需要将文件从主机拷到虚拟机当中,但是很尴尬的事情就是不能直接将文件从主机拖到虚拟机中,所以只能借助U盘,但是频繁的插拔U盘非常的繁琐。为了解决这一需求,就可以将物理主机和...
- 在 Windows 11 或 10 上安装 Virt-viewer 的单行命令
-
Virt-Viewer(或RemoteViewer)是Redhat提供的一个开源程序,允许用户控制和查看运行在本地或远程服务器上的虚拟机。它体积轻巧,并提供了一个简单的图形用户界面来访问由L...
你 发表评论:
欢迎- 一周热门
-
-
如何在安装前及安装后修改黑群晖的Mac地址和Sn系列号
-
爱折腾的特斯拉车主必看!手把手教你TESLAMATE的备份和恢复
-
[常用工具] OpenCV_contrib库在windows下编译使用指南
-
Ubuntu系统Daphne + Nginx + supervisor部署Django项目
-
WindowsServer2022|配置NTP服务器的命令
-
WIN11 安装配置 linux 子系统 Ubuntu 图形界面 桌面系统
-
解决Linux终端中“-bash: nano: command not found”问题
-
极空间如何无损移机,新Z4 Pro又有哪些升级?极空间Z4 Pro深度体验
-
NBA 2K25虚拟内存不足/爆内存/内存占用100% 一文速解
-
Linux 中的文件描述符是什么?(linux 打开文件表 文件描述符)
-
- 最近发表
- 标签列表
-
- linux 查询端口号 (58)
- docker映射容器目录到宿主机 (66)
- 杀端口 (60)
- yum更换阿里源 (62)
- internet explorer 增强的安全配置已启用 (65)
- linux自动挂载 (56)
- 禁用selinux (55)
- sysv-rc-conf (69)
- ubuntu防火墙状态查看 (64)
- windows server 2022激活密钥 (56)
- 无法与服务器建立安全连接是什么意思 (74)
- 443/80端口被占用怎么解决 (56)
- ping无法访问目标主机怎么解决 (58)
- fdatasync (59)
- 405 not allowed (56)
- 免备案虚拟主机zxhost (55)
- linux根据pid查看进程 (60)
- dhcp工具 (62)
- mysql 1045 (57)
- 宝塔远程工具 (56)
- ssh服务器拒绝了密码 请再试一次 (56)
- ubuntu卸载docker (56)
- linux查看nginx状态 (63)
- tomcat 乱码 (76)
- 2008r2激活序列号 (65)