温馨提示×

centos怎样监控进程状态

小樊
51
2026-10-06 03:54:31
栏目: 智能运维

在 CentOS 中监控进程状态有多种方式,下面按常用程度和使用场景给你系统介绍。


一、基础命令(最常用)

1. ps —— 查看进程快照

ps aux
ps -ef

常用组合:

ps aux | grep nginx

查看某个进程详细信息:

ps -p PID -o pid,ppid,cmd,%cpu,%mem,stat

2. top —— 实时查看进程资源占用

top

常用操作:

  • P:按 CPU 排序
  • M:按内存排序
  • k:杀进程
  • q:退出

3. htop(推荐,需安装)

yum install epel-release -y
yum install htop -y
htop

优点:

  • 界面友好
  • 支持鼠标
  • 彩色显示

二、系统级监控工具

4. systemd(服务进程)

如果是 systemd 管理的服务:

systemctl status nginx

查看失败进程:

systemctl --failed

5. journalctl —— 查看进程日志

journalctl -u nginx
journalctl -u nginx -f   # 实时日志

三、进程状态监控(CPU / 内存 / IO)

6. pidstat(非常推荐)

yum install sysstat -y
pidstat -p PID 1
pidstat -u -p PID 1   # CPU
pidstat -r -p PID 1   # 内存
pidstat -d -p PID 1   # IO

7. vmstat / iostat

vmstat 1
iostat -x 1

四、进程存活监控(自动告警)

8. 使用 cron + 脚本

示例:监控 nginx 是否存活

pgrep nginx > /dev/null || systemctl restart nginx

加入 crontab:

* * * * * /root/check_nginx.sh

9. 使用 supervisor(第三方)

适合自己写的程序:

yum install supervisor

配置示例:

[program:myapp]
command=/usr/bin/python app.py
autostart=true
autorestart=true

五、图形化 / 远程监控(进阶)

  • Zabbix
  • Prometheus + Node Exporter
  • Grafana
  • Netdata(轻量实时)
bash <(curl -Ss https://my-netdata.io/kickstart.sh)

六、常见进程状态说明(STAT)

R  运行中
S  睡眠
D  不可中断睡眠(常见 IO 卡死)
Z  僵尸进程
T  停止

总结推荐

场景 推荐工具
快速看进程 ps / top
实时资源 htop / pidstat
服务进程 systemctl
自动保活 supervisor / cron
长期监控 Zabbix / Prometheus

如果你有具体场景(如:监控 Java 进程、kill 不掉、CPU 飙高),我可以给你更针对性的方案。

0 踩