最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Ubuntu中如何监控PHP运行状态
时间:2026-06-11 08:31:00 编辑:袖梨 来源:一聚教程网
如何在Ubuntu中监控PHP运行状态
在Ubuntu系统中,监控PHP运行状态可通过命令行工具、系统自带工具、PHP内置功能、第三方监控方案及日志分析等多种方式实现,覆盖从基础到高级的不同需求。

一、命令行工具:快速查看PHP进程与资源占用
命令行是最基础的监控方式,适合实时查看PHP进程状态及资源消耗。
top/htop:输入top命令可查看系统实时进程列表,默认按CPU使用率排序,通过%CPU、%MEM列识别PHP进程的资源占用;htop是top的增强版(需安装:sudo apt install htop),提供更直观的界面和颜色标识,支持按键过滤(如按P按CPU排序、M按内存排序)。ps命令:通过ps aux | grep php列出所有含“php”的进程,显示进程ID(PID)、CPU/内存占用、运行时间等详细信息,便于定位异常进程(如僵尸进程)。systemctl:若PHP以php-fpm(FastCGI进程管理器)形式运行,可通过sudo systemctl status php-fpm查看服务状态(如“active (running)”表示正常);若需查看详细日志,使用sudo journalctl -u php-fpm(实时日志需加-f参数)。netstat/ss:用于检查PHP-FPM的监听端口或Unix套接字(默认端口9000或/var/run/php/php-fpm.sock),例如:
若未监听,需检查sudo netstat -tuln | grep php-fpm# 查看TCP监听端口sudo ss -tuln | grep php-fpm # 更现代的替代命令php-fpm.conf中的listen配置。
二、系统自带工具:图形化与综合监控
Ubuntu自带或易安装的图形化工具,适合需要直观界面的用户。
gnome-system-monitor:Ubuntu默认安装的系统监控工具,通过“应用程序→系统工具→系统监视器”打开,可查看CPU、内存、磁盘等整体资源使用情况,以及PHP进程的实时资源占用,支持右键结束异常进程。Glances:跨平台系统监控工具(需安装:sudo apt install glances),支持终端与Web界面,可监控CPU、内存、网络、磁盘及进程状态,还能远程查看(通过glances -w启动Web模式)。
三、PHP内置功能:获取脚本级运行指标
通过PHP脚本可获取当前脚本的资源使用情况,适合调试单个PHP文件的性能。
phpinfo():在PHP脚本中调用phpinfo()函数,输出PHP环境详细信息(如版本、配置、服务器模块、加载的扩展等),帮助排查配置问题(如display_errors是否开启)。getrusage():获取当前脚本的资源使用情况,例如:
该函数适合监控单个脚本的性能瓶颈(如循环、数据库查询耗时)。<?php$start_time = microtime(true);// 模拟耗时操作for ($i = 0; $i < 1000000; $i++) {}$end_time = microtime(true);$execution_time = ($end_time - $start_time) * 1000; // 转换为毫秒$memory_usage = memory_get_usage(true); // 获取内存使用(字节)echo "执行时间:{$execution_time}ms<br>";echo "内存占用:".round($memory_usage / 1024 / 1024, 2)."MB";?>
四、第三方监控工具:高级性能与告警
对于生产环境,建议使用第三方工具实现实时监控、历史数据分析及告警通知。
- Monit:轻量级系统监控工具(安装:
sudo apt install monit),可监控PHP-FPM进程状态(如是否运行、内存占用是否超标),并在异常时自动重启服务。配置示例(/etc/monit/conf.d/php-fpm.conf):
重启Monit后生效:check process php-fpm with pidfile /run/php/php7.4-fpm.pidstart program = "/etc/init.d/php7.4-fpm start"stop program = "/etc/init.d/php7.4-fpm stop"if memory > 256 MB for 5 cycles then restartif cpu > 80% for 5 cycles then alertsudo systemctl restart monit。 - Prometheus + Grafana:企业级监控方案,通过
php-fpm-exporter(需安装:wget https://github.com/hipages/php-fpm_exporter/releases/download/v0.5.0/php-fpm_exporter_linux_amd64.tar.gz并解压)暴露PHP-FPM指标(如活跃进程数、请求处理时间),Prometheus抓取指标后,用Grafana创建可视化仪表盘(如CPU使用率趋势、内存占用分布)。 - New Relic/Datadog:商业APM(应用性能管理)工具,提供端到端的PHP应用监控(如请求延迟、数据库查询性能、错误跟踪),支持实时告警与性能优化建议(需注册账号并安装对应Agent)。
五、日志分析:排查错误与异常
通过日志可追溯PHP运行中的错误(如语法错误、数据库连接失败),是监控的重要补充。
- PHP-FPM日志:日志路径通常为
/var/log/php-fpm.log(或/var/log/php7.4-fpm.log,根据版本调整),使用tail -f /var/log/php-fpm.log实时查看最新日志,过滤错误信息(如grep -i "error" /var/log/php-fpm.log)。 - Web服务器日志:若PHP通过Nginx/Apache运行,查看Web服务器的访问日志(
/var/log/nginx/access.log//var/log/apache2/access.log)和错误日志(/var/log/nginx/error.log//var/log/apache2/error.log),分析请求响应时间、状态码(如5xx错误)及客户端请求问题。
以上方法可根据需求组合使用:日常巡检用命令行工具,生产环境用第三方监控工具,调试时用PHP内置功能与日志分析,实现对PHP运行状态的全面监控。
相关文章
- 网易考拉海购官网 - 正版进口商品直邮到家 06-11
- 共享单车商业模式解析 - 2026年主流运营逻辑揭秘 06-11
- 微盘是什么 - 微盘功能与使用方法详解 06-11
- 硬核技术解析 - 2026最新实战指南 06-11
- 贫民窟风穿搭指南 - 2026年复古混搭潮流解析 06-11
- 懒人火锅推荐 - 2026方便速食火锅排行榜 06-11