Linux 性能监控工具全家桶:tophtopiotopiftop

这四个工具名字都带 top,但监控的维度完全不同。它们共同构成了 Linux 系统性能监控的"四件套",分别关注 CPU/内存、进程管理、磁盘 I/O、网络流量


一、概览对比表

工具监控维度核心用途界面风格资源占用
topCPU、内存、进程系统整体负载 + 进程级资源占用经典文本界面,系统自带最低
htopCPU、内存、进程(增强版)更友好的进程管理,支持鼠标/键盘交互彩色界面,支持滚动、搜索稍高于 top
iotop磁盘 I/O按进程查看磁盘读写速率类似 top 的列表界面中等
iftop网络流量按连接查看网络收发速率带动态条形图的网络界面较低

二、top —— 系统自带的全能监控

定位:Linux 系统最基础的实时进程监控工具,几乎所有发行版都预装。

主要功能

  • 显示系统整体负载(load average)、CPU 使用率、内存占用
  • 按进程显示 CPU 和内存占用排行
  • 支持对进程发送信号(如 kill)

常用交互按键

按键功能
1展开/折叠各 CPU 核心使用情况
P按 CPU 使用率排序(大写 P)
M按内存使用率排序(大写 M)
k杀死进程
q退出

示例

top

优点:系统自带,无需安装,兼容性最好
缺点:界面相对朴素,操作不够直观


三、htop —— top 的现代化增强版

定位top 的替代品,提供更友好的彩色界面和交互体验。

主要功能

  • 彩色界面,树形显示进程层级
  • 支持鼠标点击和方向键滚动
  • 横向/纵向进程列表(可同时看到更多信息)
  • 内置搜索(F3)、过滤(F4)、进程树(F5)等

安装

# Debian/Ubuntu
sudo apt install htop

# RHEL/CentOS
sudo yum install htop

常用操作

按键功能
F3搜索进程
F4过滤进程(只显示匹配的)
F5切换树形视图
F6选择排序字段
F9发送信号(杀死进程)

示例

htop

优点:界面美观,交互友好,功能丰富
缺点:需要额外安装,资源占用略高于 top


四、iotop —— 磁盘 I/O 监控(类似 iotop 的定位)

定位:按进程查看磁盘读写速率的工具,相当于"磁盘版的 top"。

主要功能

  • 显示每个进程的磁盘读速率、写速率
  • 显示 I/O 等待百分比(IO Wait)
  • 支持显示累积 I/O 总量

安装

# Debian/Ubuntu
sudo apt install iotop

# RHEL/CentOS
sudo yum install iotop

常用参数

参数功能
-o只显示有 I/O 活动的进程
-d 2每 2 秒刷新一次
-u user只显示指定用户的进程

交互按键(运行中):

按键功能
r反向排序
o只显示有 I/O 的进程(同 -o
q退出

示例

sudo iotop -o

优点:精准定位哪个进程在"写磁盘"
缺点:需要 root 权限,在高 IOPS 环境下资源占用稍高


五、iftop —— 网络流量监控

定位:按连接查看网络收发速率的工具,相当于"网络版的 top"。

主要功能

  • 显示每个网络连接的实时流量速率
  • 区分发送(tx)和接收(rx)
  • 显示 2秒/10秒/40秒 的平均速率

安装

# Debian/Ubuntu
sudo apt install iftop

# RHEL/CentOS
sudo yum install iftop

常用参数

参数功能
-i eth0指定网卡
-n不解析域名(显示 IP,更快)
-p混杂模式(捕获所有流量)

交互按键(运行中):

按键功能
n开关 DNS 解析
p显示/隐藏端口号
s显示/隐藏源主机
d显示/隐藏目标主机
b切换单位(bit / Byte)

示例

sudo iftop -i eth0 -n

优点:直观显示流量去向,适合分析带宽占用
缺点:不显示进程 PID(只看连接),需要 root 权限


六、使用场景总结

场景推荐工具
快速查看系统负载、CPU、内存tophtop
需要友好的进程管理(搜索、树形、杀进程)htop
发现系统卡顿,怀疑磁盘慢iotop -o
发现带宽占满,想确认是哪个程序nethogs(真正按进程)
想看流量是去了哪个 IP(排查攻击、异常外联)iftop

补充:nethogs 的角色

虽然名字里没有 top,但 nethogs 正好填补了 iftop 的不足——按进程显示网络流量。如果你需要像 iotop 那样直接看到"进程名 + 网络速率",nethogs 是更合适的选择。

sudo nethogs eth0

这四个工具配合使用,可以覆盖 Linux 性能排查的绝大多数场景。每个都有自己擅长的领域,根据需求选择合适的工具即可。

标签: none

添加新评论