在服务器管理和系统运维的日常工作中,实时监控系统资源使用情况是一项基础且关键的任务。
除了比较基础的top命令外,比较常用的还有以下这些:
- htop:top命令的增强版
- glances:提供更全面的系统监控,包括网络、磁盘IO等
- atop:专注于长期性能监控和记录
- btop++:htop的现代替代品,提供更华丽的界面和更多功能
- iotop:专门监控磁盘IO使用情况
- nmon:IBM开发的系统监控工具,提供更多性能数据
下面重点介绍一下htop命令。
htop是一款功能强大且易于使用的Linux系统监控工具,它通过直观的界面和丰富的交互功能,大大提升了系统管理员监控和管理进程的效率。从基本的系统资源监控到复杂的进程管理,从简单的排序过滤到自定义显示配置,htop几乎能满足所有与进程监控相关的需求。
在日常运维工作中,掌握htop的使用技巧不仅能帮助你快速定位系统问题,还能提高工作效率,减少排障时间。无论是处理高CPU负载、内存泄漏,还是需要快速终止失控进程,htop都能提供直观且高效的解决方案。

htop界面详解
运行htop时会看到一个分为上下两个部分的界面。
顶部区域
顶部区域显示系统的整体资源使用情况,包括:
CPU使用率 每个CPU核心都有独立的使用率条,不同颜色代表不同类型的进程
- 蓝色:低优先级进程
- 绿色:普通用户进程
- 红色:内核进程
- 黄色/橙色:IRQ时间
- 洋红色:软中断时间
灰色:IO等待时间
内存使用情况 显示物理内存和交换空间的使用百分比和具体数值
- 绿色:已使用内存
- 蓝色:缓冲区
黄色/橙色:缓存
负载平均值 显示1分钟、5分钟和15分钟的系统负载平均值
正常运行时间 系统启动至今的运行时间
任务统计 显示总进程数、运行中的进程数等信息
底部区域
底部区域显示系统中运行的进程列表,默认按CPU使用率排序。每个进程显示以下信息:
- PID:进程ID
- USER:进程所有者
- PRI:进程优先级
- NI:nice值
- VIRT:虚拟内存大小
- RES:常驻内存大小
- SHR:共享内存大小
- S:进程状态(R=运行,S=睡眠,Z=僵尸等)
- CPU%:CPU使用百分比
- MEM%:内存使用百分比
- TIME+:进程运行时间
- Command:命令名称和参数
htop操作技巧
基本操作
- 上下左右键:在进程列表中导航
- F5:切换树形视图,显示进程父子关系
- F6:选择排序字段
- F9:向进程发送信号(如终止进程)
F10或q:退出htop
进程管理
htop最强大的功能之一是其直观的进程管理能力:
- 终止进程:选中进程后按F9,然后选择要发送的信号(如SIGTERM或SIGKILL)
- 调整进程优先级:选中进程后按F7(降低nice值)或F8(提高nice值)
- 追踪进程系统调用:选中进程后按s,启动strace(需要安装strace工具)
查看进程打开的文件:选中进程后按l,启动lsof(需要安装lsof工具)
搜索功能
在htop中,按下/键可以搜索特定进程。输入关键字后,htop会高亮显示匹配的进程。这在系统运行大量进程时特别有用。
过滤功能
按下\键可以激活过滤功能,输入过滤条件后,htop只会显示符合条件的进程。例如,输入"apache"将只显示与apache相关的进程。
自定义显示列
htop允许你自定义显示哪些进程信息列:
- 按F2进入设置菜单
- 选择"Columns"选项
- 使用空格键选择或取消选择要显示的列
F10保存并退出设置
自定义配色方案
如果你不喜欢默认的颜色方案,可以在设置菜单中进行更改:
- 按F2进入设置菜单
- 选择"Colors"选项
- 选择预设的配色方案或自定义各元素的颜色
- F10保存并退出设置
使用示例
场景一:系统资源异常高,定位问题进程
当服务器CPU或内存使用率异常高时,可以通过以下步骤快速定位问题:
- 启动htop,查看顶部的CPU和内存使用情况
- 按F6,选择按CPU%或MEM%排序
- 观察排在顶部的进程,这些通常是资源消耗最大的
如果发现异常进程,可以进一步分析或终止它
场景二:监控多核CPU的负载均衡情况
在多核服务器上,理想情况下工作负载应该均匀分布在各个CPU核心上:
- 启动htop,观察顶部的CPU使用率条
- 检查各个核心的使用率是否平衡
如果发现某个核心长期满负荷而其他核心空闲,可能表明应用程序不支持多线程或存在配置问题
场景三:内存泄漏排查
对于疑似内存泄漏的情况,可以使用htop进行初步排查:
- 启动htop,按F6选择按MEM%排序
- 记录可疑进程的内存使用情况
- 定期观察这些进程的内存使用是否持续增长而不释放
- 如果确认某进程存在内存泄漏,可以重启该进程作为临时解决方案,并进一步分析根本原因
评论 (0)