PHP-FPM进程CPU 飙高的原因及解决方案
2017-12-13 10:08
357 查看
PHP-FPM进程CPU 飙高的原因及解决方案
在最近开发中,发现打开网页越来越慢,所以用用top命令发现,php-fpm CPU 飙到了90%以上,所以需要紧急处理这个问题,主要解决思路如下:
1.设置控制php-fpm进程池进程数量。
修改pm.max_children的数量,根据内存来进行分配,系统开一个进程20-30M。比如系统内存1G,那就将差不多能开30个进程,所以可以设置pm.max_children 为30,以此类推,然后需要重启下php-fpm服务。
pm.max_children:静态方式下开启的php-fpm进程数量。
pm.start_servers:动态方式下的起始php-fpm进程数量。
pm.min_spare_servers:动态方式下的最小php-fpm进程数量。
pm.max_spare_servers:动态方式下的最大php-fpm进程数量。
2.开启慢日志。
编辑php-fpm.conf文件找到request_slowlog_timeout = 0这一行,默认值为0,表示不开启slowlog,将其值改为3s,表示跟踪执行时间达到或超过3s的脚本。找到slowlog,它的值表示慢执行日志的路径。
3.内存分配。
内存分配太少,理论上开一个进程消耗CPU 20-30M,所以1G内存的可以开30个进程左右,如果是虚拟机的话可以分配2G内存。
4.编辑php-fpm.conf配置文件。
php_admin_value[memory_limit] = 128M(我服务器上的配置文件在/etc/php5/fpm/pool.d/www.conf 这个文件是被包含在php-fpm.conf里的) 后边的数字可以随便更改:32M,64M,128M,256M,512M,这个设置可根据你的服务器内存大小和你的需求来写,修改后要加载一下php-fpm服务。
欢迎补充!
相关文章推荐
- PHP-FPM进程CPU 100%的原因及解决方案
- PHP-FPM进程CPU 100%的原因及解决方案
- php-cgi进程占用cpu资源过多负载高的原因分析及解决步骤
- php-cgi进程占用cpu资源过多负载高的原因分析及解决步骤
- php-cgi进程占用cpu资源过多负载高的原因分析及解决步骤
- php-cgi进程占用cpu资源过多负载高的原因分析及解决步骤
- php-cgi进程占用cpu资源过多负载高的原因分析及解决步骤
- php-fpm 进程在云服务器cpu分配不均匀
- php-cgi进程占用cpu资源过大原因分析及解决(找出有问题的linux进程)
- php-cgi进程占用cpu资源过多负载高的原因分析及解决步骤
- PHP加速器eaccelerator导致php-fpm进程卡死原因分析
- php-cgi进程占用cpu资源过大原因分析及解决
- 查看php-fpm开启的进程数以及每个进程的内存限制
- PHP-CGI 进程 CPU 100% 与 file_get_contents 函数的关系
- PHPWAMP乱码一键解决,PHP乱码通用解决方案/网站乱码的多种原因分析
- php5.3.3以后php-fpm进程管理方式
- 深入php-fpm的两种进程管理模式详解
- 服务器大量php-cgi.exe进程,导致CPU占用100%的解决
- linux下查找java进程占用CPU过高原因
- mysql出现大量sleep进程的原因与解决方案