温馨提示×

怎么监控linux进程

小樊
46
2026-10-12 08:37:23
栏目: 智能运维

在 Linux 下“监控进程”可以从临时查看、长期监控、资源统计、自动化告警几个层面来做。下面按常见场景给你一个实用指南。


一、临时查看进程(最常用)

1. ps 查看进程快照

ps aux
ps -ef

常用组合:

ps aux --sort=-%cpu | head
ps aux --sort=-%mem | head

2. top / htop 实时查看

top
htop   # 更友好,需安装
  • CPU、内存、进程排序
  • htop 支持鼠标、树状结构

二、监控某个具体进程

1. 按进程名监控

pgrep nginx
ps -C nginx

2. 持续查看某个 PID

top -p 1234

3. 查看进程资源使用

cat /proc/1234/status
cat /proc/1234/statm

三、系统级资源监控

1. vmstat(CPU / 内存 / IO)

vmstat 1

2. iostat(磁盘 IO)

iostat -x 1

3. free(内存)

free -h

四、进程级详细监控

1. pidstat(强烈推荐)

pidstat -u 1      # CPU
pidstat -r 1      # 内存
pidstat -d 1      # IO

2. strace 看系统调用

strace -p 1234

3. lsof 看文件/端口

lsof -p 1234
lsof -i :8080

五、长期监控 & 可视化

1. systemd 服务监控

systemctl status nginx
journalctl -u nginx -f

2. 专业监控工具

  • Prometheus + Node Exporter
  • Grafana
  • Zabbix
  • Netdata(开箱即用)
bash <(curl -Ss https://my-netdata.io/kickstart.sh)

六、进程挂了自动报警 / 重启

1. systemd 自动重启

Restart=always

2. 简单脚本监控

if ! pgrep -f myapp > /dev/null; then
  systemctl restart myapp
fi

3. 监控并邮件告警

配合 cron + mail 或企业微信/钉钉机器人


七、推荐组合(按需求)

需求 推荐
快速排查 top / htop
某进程资源 pidstat
长期监控 Netdata / Prometheus
服务存活 systemd
深度分析 strace / perf

如果你能说下:

  • 是服务器还是容器
  • 想监控CPU / 内存 / 存活 / 异常
  • 是否需要告警

我可以直接给你一套可落地的监控方案或脚本。

0 踩