发布于2026-07-13 阅读(0)
扫一扫,手机访问
监控 Linux 上的 PHP-FPM 进程,其实是服务器运维中的一项基本功。不管是排查性能瓶颈,还是盯着资源消耗,总得有个趁手的办法。下面这几条路,基本覆盖了从命令行到图形化监控的主流方案,你可以根据手头环境挑着用。

最直接的办法,就是在终端敲 top 或者 htop。这两个命令能实时列出所有进程的 CPU、内存占用情况。如果想只看 PHP-FPM 相关的进程,按 u 键,然后输入运行 PHP-FPM 的用户名(通常是 www-data 或 nginx 之类的)。另外,按 P 按 CPU 使用率降序排列,按 M 按内存使用率排序,很快就能揪出“谁在吃资源”。
如果只想看一眼当前快照,ps 命令更干脆。执行 ps aux | grep php-fpm,所有与 PHP-FPM 相关的进程、PID、CPU 内存占比、启动时间等信息都会列出来。配合 awk 或 sort 还能进一步分析,比如统计进程数、平均内存占用等。
现在大多数 Linux 发行版都改用 systemd 管理服务,PHP-FPM 也不例外。直接运行 systemctl status php-fpm,就能看到服务是否在运行、最近日志、主进程 PID 等信息。如果想深挖资源限制,还可以查一下服务单元文件里的 CPU 和内存限额:systemctl cat php-fpm.service | grep -i "CPU.*Limit" 和 systemctl cat php-fpm.service | grep -i "Memory.*Limit"。当然,前提是服务配置里确实设置了这些限制。
很多时候资源占用高是因为某个 PHP 脚本执行时间过长。PHP-FPM 自带了慢日志功能,打开之后能自动记录超过指定时间的请求。方法很简单:编辑 php-fpm.conf 或 www.conf(具体哪个文件取决于你的系统结构),设置这两项:
slowlog = /var/log/php-fpm/slow.log
request_slowlog_timeout = 10s
然后重启 PHP-FPM。之后所有执行超过 10 秒的请求都会被记录到慢日志文件里,方便你排查具体是哪个脚本拖慢了整体性能。这个值可以根据业务场景灵活调整,比如压测时可以设短一点(如 2 秒),平时可以设长一点。
如果管理的服务器数量多、或者需要历史趋势图,那就别靠手敲命令了。行业里常用的方案包括 New Relic、Datadog、Prometheus 搭配 Grafana 等。这些工具不仅能监控 PHP-FPM 的进程数和资源占用,还能暴露进程池状态、请求队列长度、空闲进程比例等更细致的指标,配合可视化仪表盘,一眼就能看出哪里不对劲。当然,这类工具通常需要额外安装 Agent 或 exporter,有一定的接入成本,但对于规模化运维来说是值得投入的。
说到底,监控 PHP-FPM 没有银弹。命令行方案轻快直接,适合临时排查;慢日志精准定位,适合优化代码;第三方工具持续跟踪,适合长期稳定性保障。你可以根据自己的场景,选一种、或者组合使用。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8