要监控linux系统资源占用,可使用vmstat和htop工具。一、vmstat用于查看系统整体资源快照,提供进程、内存、io、cpu等信息,关键字段如r值过高表示cpu瓶颈,wa高表示磁盘慢,可用2秒间隔输出5次:vmstat 2 5。二、htop用于交互式监控进程资源,界面直观,支持排序、过滤、发送信号等操作,安装后直接输入htop启动,按f6可按cpu或mem排序,f5切换树状视图。三、建议搭配使用,先用vmstat定位瓶颈,再用htop查找具体进程,结合iostat等工具进一步分析问题。
监控linux系统资源占用是运维和开发人员日常工作中非常重要的一环。当服务器出现性能瓶颈时,快速定位问题源头往往依赖于对CPU、内存、磁盘IO等资源的实时观察。在众多命令行工具中,vmstat 和 htop 是两个非常实用且常用的工具,它们可以帮助我们从不同角度查看系统的运行状态。
一、vmstat:系统整体资源使用的“快照”
vmstat 是一个轻量级的系统监控工具,能够提供关于进程、内存、交换分区、IO、CPU等方面的简明信息。它特别适合用来做快速诊断或写入脚本进行周期性采集。
基本用法:
vmstat [delay] [count]
例如每2秒输出一次,共5次:
vmstat 2 5
关键字段解读:
- procs: r(运行队列)和 b(等待IO的进程数),数值过高可能表示CPU或IO瓶颈。
- memory: swpd(使用虚拟内存)、free(空闲内存)、buff(缓冲区缓存)、cache(页面缓存)。
- swap: si(从磁盘读入内存)和 so(写入磁盘的内存页),如果持续有值说明内存不足。
- io: bi(块设备读取)和 bo(块设备写入),反映磁盘IO压力。
- system: in(每秒中断次数)和 cs(上下文切换次数)。
- cpu: us(用户态)、sy(系统态)、id(空闲)、wa(等待IO)等比例,wa高说明磁盘慢。
建议:
- 如果发现 r 值长期大于 CPU 核心数,说明可能存在 CPU 瓶颈。
- 若 wa 比例较高,则需要排查磁盘性能问题。
- 结合 iostat 使用可以更全面地分析 IO 性能。
二、htop:交互式进程资源监控利器
相比传统的 top,htop 提供了更直观的界面和更丰富的功能,比如颜色区分、树状结构显示、快捷键操作等,非常适合实时查看具体进程的资源消耗情况。
安装方法(以 ubuntu 为例):
sudo apt install htop
启动方式:
直接输入:
htop
主要特点与使用技巧:
- 支持鼠标操作和方向键选择进程。
- 可按 CPU、内存、运行时间等排序,方便快速找到高负载进程。
- 支持过滤(F4)查找特定进程。
- 可发送信号给进程(如终止、暂停)通过 F9 快捷键。
- 显示每个 CPU 的使用率(顶部条形图)。
- 支持显示线程模式(按 H 切换)。
小贴士:
- 按 F6 可以选择排序字段,默认是 PID 排序,建议改为 %CPU 或 %MEM 更方便找热点进程。
- 按 F5 可以切换为树状视图,清晰展示父子进程关系。
- 在远程服务器上运行 htop 时,记得先确认终端支持颜色显示,否则可能会乱码。
三、搭配使用效果更佳
虽然 vmstat 和 htop 各有侧重,但在实际排查问题时,两者结合使用会更有优势。
比如:
- 先用 vmstat 查看是否有明显的内存或IO瓶颈。
- 再用 htop 定位到具体哪个进程占用了大量资源。
- 如果怀疑磁盘IO问题,可配合 iostat 或 iotop 进一步分析。
这样组合使用可以形成一个完整的资源监控链条,帮助你更快地判断问题所在。
基本上就这些,这两个工具都很轻量,几乎不消耗额外资源,但功能又足够强大,是Linux下系统监控不可或缺的好帮手。