Linux系统作为服务器和开发环境的主流选择,系统资源监控是日常运维和性能优化的基础工作。不同的监视工具针对不同的监控维度设计,掌握常用工具的使用方法可以快速定位系统问题。

top:基础实时系统监控工具
top是Linux系统自带的经典实时监视工具,默认安装在几乎所有Linux发行版中,能够实时展示系统的进程状态、CPU使用率、内存占用等核心信息。
直接执行top命令即可启动工具,界面主要分为两部分:上半部分展示系统整体资源使用情况,下半部分展示每个进程的详细资源占用。常用交互命令如下:
- 按
P:按照CPU使用率排序进程 - 按
M:按照内存使用率排序进程 - 按
q:退出top工具 - 按
1:展开显示所有CPU核心的使用情况
以下是top命令的基础使用示例:
# 启动top工具,每2秒刷新一次 top -d 2 # 查看指定进程的资源占用,比如查看PID为1234的进程 top -p 1234
htop:top的增强替代工具
htop是top的优化版本,提供了更友好的交互界面和更丰富的功能,支持鼠标操作、进程树展示、横向滚动查看完整命令等,使用体验远优于传统top。
部分Linux发行版默认未安装htop,需要先通过包管理器安装:
# Ubuntu/Debian系统安装htop sudo apt install htop # CentOS/RHEL系统安装htop sudo yum install htop
htop的核心优势在于操作便捷性,常用功能可以直接通过底部菜单栏的快捷键触发,比如F9可以直接发送信号给选中的进程,F6可以自由选择排序维度,不需要记忆复杂的单键命令。
vmstat:系统整体性能统计工具
vmstat主要用于统计系统的整体性能数据,包括CPU、内存、交换分区、IO、系统进程等维度的信息,适合用来快速判断系统整体的性能瓶颈方向。
命令基本格式为vmstat [刷新间隔] [刷新次数],以下是常见使用示例:
# 每2秒输出一次统计信息,总共输出5次 vmstat 2 5
输出结果中需要重点关注以下几个指标:
- r:等待运行的进程数量,数值持续过高说明CPU资源不足
- si/so:交换分区换入换出量,数值过高说明内存不足
- us/sy:用户态和内核态CPU使用率,us过高说明用户进程占用CPU多,sy过高说明内核调用频繁
iostat:磁盘IO监控工具
iostat是sysstat工具包的一部分,专门用于监控磁盘IO性能,能够展示磁盘的读写速率、IO等待时间、使用率等关键指标,是排查磁盘性能问题的核心工具。
如果系统未安装sysstat包,需要先安装:
# Ubuntu/Debian安装sysstat sudo apt install sysstat # CentOS/RHEL安装sysstat sudo yum install sysstat
常用监控命令如下:
# 每2秒输出一次磁盘IO统计,总共输出3次,显示扩展信息 iostat -x 2 3
输出中%util指标表示磁盘的繁忙程度,数值接近100%说明磁盘IO已经达到瓶颈;await表示IO平均等待时间,数值过高说明磁盘响应慢。
systemd-cgtop:cgroup资源监控工具
在使用systemd管理服务的Linux系统中,systemd-cgtop可以监控不同cgroup(控制组)的资源使用情况,适合容器化环境或者做了资源限制的服务场景下的监控。
直接执行systemd-cgtop即可启动,默认按照资源使用量排序展示不同cgroup的CPU、内存、IO占用情况,能够清晰看到每个服务或者容器的资源使用上限和实际用量。
工具选择建议
不同场景可以选择不同的监视工具:
- 快速查看实时进程状态:优先使用htop,其次使用top
- 排查系统整体性能瓶颈:使用vmstat快速判断问题方向
- 排查磁盘IO问题:使用iostat获取详细的磁盘性能数据
- 监控容器或者服务资源限制情况:使用systemd-cgtop
这些工具可以组合使用,比如先用top找到占用资源高的进程,再用vmstat确认系统整体资源瓶颈,最后用iostat判断是否是磁盘IO导致的问题,能够快速完成问题定位。
tophtopvmstatiostatsystemd_cgtop修改时间:2026-07-03 03:24:22