Linux进程资源可视化可通过终端工具(htop、nmon)、内存分析(smem)、轻量Web方案(glances、bashtop)及生产级监控(Prometheus+Node Exporter+Grafana)实现,覆盖实时监控、深度分析与长期趋势告警。

Linux 进程资源使用可视化,核心在于把抽象的数值变成直观可读的图形或交互式界面。不依赖图形桌面也能做到,关键是选对工具、搭好路径。
终端内实时可视化:htop 与 nmon
这是最轻量、最常用的方案,适合运维排查和日常监控。
-
htop:比 top 更友好,支持鼠标、颜色高亮、树状进程视图。安装后直接运行
htop -p PID可聚焦单个进程;按 F5 切换树形模式看父子关系,F6 选 %CPU 或 %MEM 排序,F2 可添加TIME+、PPID等列辅助分析。 -
nmon:专注系统级多维度监控。启动后按 C(CPU)、M(内存)、D(磁盘)、N(网络)切换视图,所有指标实时刷新、带历史趋势条。适合快速判断瓶颈在哪一层——比如
wa高说明 I/O 等待严重,id持续低于 10% 表示 CPU 饱和。
进程级内存深度分析:smem + 图表输出
当需要区分共享内存归属、定位“谁真正吃掉了物理内存”,smem 是不可替代的工具。
Linux系统管理专家,覆盖12大模块:用户权限、SSH、存储、网络、systemd、防火墙、日志监控、备份恢复、TLS证书、Ansible、容器、IaC。提供配置、验证、加固、监控、备份、自动化、故障排查、回滚闭环。关键词:useradd、sudo、sshd_config、chmod、SEL...
- 用
sudo smem -s pss -r按 PSS(比例集大小)倒序列出进程,比 RSS 更准确反映实际内存占用。 - 生成饼图或柱状图:
sudo smem --pie name -c "name pss"直接输出 SVG;配合python3 -m pip install matplotlib后,还可导出 PNG:sudo smem -P python3 --bar pid -c "pid uss pss rss"。 - 按用户汇总:
sudo smem -u,能一眼看出某个用户(如 www-data)是否异常占内存。
轻量 Web 可视化:glances 或 bashtop
想在浏览器里看,又不想部署 Prometheus+Grafana 这类重型栈?这两个工具开箱即用。
-
glances:Python 写的跨平台监控器,启动即带 HTTP 服务:
glances -w,然后访问http://localhost:61208。页面自动刷新,支持进程列表、图表趋势、警告阈值(如内存 >90% 标红),还能远程连接其他 Glances 实例。 - bashtop:纯 Bash 实现,资源极省,界面接近 htop 但自带 CPU/内存/磁盘实时曲线图。支持导出快照为 PNG(需安装 imagemagick),适合嵌入文档或巡检报告。
长期趋势与告警:Prometheus + Node Exporter + Grafana
适用于生产环境,要求数据可回溯、可告警、可关联分析。
- Node Exporter 抓取 /proc 和 /sys 下的原始指标(包括每个进程的 cpu_seconds_total、process_resident_memory_bytes)。
- Prometheus 定期拉取并存储,Grafana 建立仪表盘:例如画出某 PID 的内存增长曲线,叠加其子进程数量变化,再加一个告警规则“连续 5 分钟 RES > 2GB”。
- 关键技巧:用
process_exporter替代默认 Node Exporter,它能按进程名、用户、命令行参数打标签,让查询更灵活,比如:process_resident_memory_bytes{group="nginx"}。

















