nginx php-fpm内存配置问题
2014-10-17 18:05
225 查看
nginxphp-fpm配置过程中最大问题是内泄漏出问题:服务器的负载不大,但是内存占用迅速增加,很快吃掉内存接着开始吃交换分区,系统很快挂掉!
google了一天,终于发现些有用的东西,其实根据官方的介绍,php-cgi不存在内存泄漏,每个请求完成后php-cgi会回收内存,但是不会释放给操作系统,这样就会导致大量内存被php-cgi占用。
官方的解决办法是降低PHP_FCGI_MAX_REQUESTS的值,我用的是php-fpm,对应的php-fpm.conf中的就是max_requests,该值的意思是发送多少个请求后会重启该线程,我们需要适当降低这个值,用以让php-fpm自动的释放内存,不是大部分网上说的51200等等,实际上还有另一个跟它有关联的值max_children,这个是每次php-fpm会建立多少个进程,这样实际上的内存消耗是max_children*max_requests*每个请求使用内存,根据这个我们可以预估一下内存的使用情况,就不用再写脚本去kill了。
下面其实是重启脚本的过程,并不是什么很严重的事情,但是我们要小心,不是说一直重启就是好的,因为重启会导致cpu的使用率飙升,系统负载巨大,所以还是平衡上面的数据比较重要。
google了一天,终于发现些有用的东西,其实根据官方的介绍,php-cgi不存在内存泄漏,每个请求完成后php-cgi会回收内存,但是不会释放给操作系统,这样就会导致大量内存被php-cgi占用。
官方的解决办法是降低PHP_FCGI_MAX_REQUESTS的值,我用的是php-fpm,对应的php-fpm.conf中的就是max_requests,该值的意思是发送多少个请求后会重启该线程,我们需要适当降低这个值,用以让php-fpm自动的释放内存,不是大部分网上说的51200等等,实际上还有另一个跟它有关联的值max_children,这个是每次php-fpm会建立多少个进程,这样实际上的内存消耗是max_children*max_requests*每个请求使用内存,根据这个我们可以预估一下内存的使用情况,就不用再写脚本去kill了。
下面其实是重启脚本的过程,并不是什么很严重的事情,但是我们要小心,不是说一直重启就是好的,因为重启会导致cpu的使用率飙升,系统负载巨大,所以还是平衡上面的数据比较重要。
Mar 08 16:13:33.113138 [NOTICE] fpm_got_signal(), line 48: received SIGCHLD
Mar 08 16:13:33.113202 [WARNING] fpm_children_bury(), line 215: child 23051 (pool default) exited on signal 11 SIGSEGV after 747.428492 seconds from start
Mar 08 16:13:33.113622 [NOTICE] fpm_children_make(), line 352: child 24511 (pool default) started
相关文章推荐
- 搭建windows+Nginx+PHP配置指南 以及 之后的问题解决
- OS X中多PHP环境与Nginx配置问题
- 腾讯云服务器php+mysq+nginx配置出现的问题及解决方法(亲测)
- windows下的php、nginx、mysql配置记录和问题汇总
- [原创]配置php+nginx 时遇到的”file not found","access denied"奇怪问题的解决过程
- nginx+php+ssl 配置问题
- CentOS 6.6 Nginx配置php的问题
- 腾讯云服务器php+mysq+nginx配置出现的问题及解决方法(亲测)
- LNMP(nginx防盗链,访问控制,解析php相关配置,Nginx代理,常见502问题)
- nginx 配置PHP fastcgi无法解析问题
- Linux下安装php,并配置到nginx【最终版,完美解决问题】
- 配置nginx+php+mysql遇到的问题
- nginx php文件上传的大小配置问题
- Nginx 0.7.x + PHP 5.2.10(FastCGI)搭建胜过Apache十倍的Web服务器 安装与配置(1)
- nginx配置httpd服务遇到问题
- nginx配置遭遇No input file specified问题
- CentOS5下安装配置nginx+fastcgi php+mysql
- Nginx 0.7.x + PHP 5.2.10(FastCGI)搭建胜过Apache十倍的Web服务器 安装与配置(4)
- failed to open stream解决办法-关于WIN主机下配置PHP的若干问题解决方案总结
- Nginx 0.7.x + PHP 5.2.10(FastCGI)搭建胜过Apache十倍的Web服务器 安装与配置(3)