Home >Backend Development >PHP Problem >How to check php process
PHP-FPM是大多数 PHP 项目中都会用到的,也可能会有一些监控的操作需要获取FPM的进程相关信息。
获取 FPM 进程数
ps -ef|grep php-fpm|grep -v grep|wc -l
获取 FPM 进程 ID
ps -ef|grep php-fpm|grep -v grep|awk '{print $2}'
PHP-FPM 启动进程的方式
PHP-FPM 是多进程模式,master进程管理worker进程,进程的数量都可以通过php-fpm.conf做具体配置。而 PHP-FPM 的进程,基本上可以分为动态模式及静态模式,而大多数公司或者个人都使用的是动态模式。
静态(static)
直接开启指定数量的 PHP-FPM 进程,不再增加或者减少;启动固定数量的进程,占用内存高,但在用户请求波动大的时候,对 Linux 操作系统进程的处理上耗费的系统资源低
动态(dynamic)
开始的时候开启一定数量的 PHP-FPM 进程,当请求量变大的时候,动态的增加 PHP-FPM 进程数到上限,当空闲的时候自动释放空闲的进程数到一个下限。
动态模式,会根据max、min、idle children配置,动态的调整进程数量。在用户请求较为波动,或者瞬间请求增高的时候,进行大量进程的创建、销毁等操作,而造成 Linux 负载波动升高。
简单来说,请求量少,PHP-FPM 进程数少,请求量大,进程数多。优势就是,当请求量小的时候,进程数少,内存占用也小。
按需模式(ondemand)
这种模式下,PHP-FPM 的master不会fork任何的子进程,纯粹就是按需启动子进程,因为这种模式,基本上是无法适应有一定量级的线上业务的。
推荐教程:PHP视频教程
The above is the detailed content of How to check php process. For more information, please follow other related articles on the PHP Chinese website!