监控 Linux 进程资源,常见方式从命令行工具到系统化监控方案都有,下面按使用场景给你一个清晰总结。
top / htop(实时查看)top
htop # 更友好,需安装
P 按 CPU 排序,M 按内存排序ps(快照查看)ps -eo pid,ppid,user,%cpu,%mem,cmd --sort=-%cpu | head
free(内存)free -h
pidstat(强烈推荐)pidstat -u -r -d -p <PID> 1
-u CPU-r 内存-d 磁盘 IO/proc/<PID>/cat /proc/<PID>/status
cat /proc/<PID>/statm
ulimitulimit -a
systemd 资源控制[Service]
MemoryMax=500M
CPUQuota=50%
systemctl status <service>
atop(历史回放)apt install atop
atop
cgroups(底层控制)pidstat -u -r -p $(pgrep nginx) 2
ps -eo pid,comm,%cpu,%mem --sort=-%cpu | head
| 场景 | 工具 |
|---|---|
| 临时排查 | top / htop |
| 精确分析 | pidstat |
| 长期监控 | Prometheus |
| 容器环境 | cgroups + docker stats |
如果你愿意,可以告诉我:
我可以帮你定制一套监控方案或脚本。