php-fpm(PHP FastCGI Process Manager)。
php-fpm提供了更好的PHP进程管理方式,可以有效控制内存和进程、可以平滑重载PHP配置。
php-fpm的出现全部因为php-fastcgi出现,为了很好的管理php-fastcgi而实现的一个程序。
php-fastcgi只是一个cgi程序,只会解析php请求,并且返回结果,不会管理(因此才出现了php-fpm)。
网站访问相应503错误,很大可能由于内存不足导致。
但如像米虫是2G内存云服务器,跑一个博客网站出现内存不足,是明显不应该的。
进入Linux后台发现,内存占用92%!!!
What?黑人问号???
使用top命令分析发现,php-fpm占用了大量的内存,启用了大量的进程,特别是大量空闲进程。
一般一个php-fpm子进程约占用1%-5%的内存,50个直接就占用至少70%左右的内存。
这样明显得资源浪费真是何等的卧槽...
如下部分内存数据:
PID 名称 CPU 内存 读/写 状态 线程 用户
3638 php-fpm 0% 1.961% 4.12 MB/15.21 MB sleeping 1 www
3673 php-fpm 0% 4.267% 2.47 MB/12.49 MB sleeping 1 www
3636 php-fpm 0% 5.526% 103.24 MB/12.20 MB sleeping 1 www
3639 php-fpm 0% 1.884% 272.00 KB/14.80 MB sleeping 1 www
3640 php-fpm 0% 4.503% 1.13 MB/14.27 MB sleeping 1 www
3635 php-fpm 0% 4.936% 16.62 MB/11.50 MB sleeping 1 www
3633 php-fpm 0% 5.367% 1.53 MB/11.08 MB sleeping 1 www
3637 php-fpm 0% 2.627% 1.05 MB/14.96 MB sleeping 1 www
3642 php-fpm 0% 2.049% 1.74 MB/8.32 MB sleeping 1 www
3634 php-fpm 0% 2.522% 1.13 MB/14.23MB sleeping 1 www
3791 php-fpm 0% 1.797% 144.00 KB/11.27 MB sleeping 1 www
vi /etc/php-fpm.d/www.conf
#允许创建的最大子进程数
max_children:25
#起始进程数(服务启动后初始进程数量)
start_servers:10
#最小空闲进程数(清理空闲进程后的保留数量)
min_spare_servers:8
#最大空闲进程数(当空闲进程达到此值时清理)
max_spare_servers:20
处理完成后,减少空闲线程池数量,避免过多的空闲线程启动浪费资源,内存恢复正常
如果您的环境通过宝塔面板配置,该面板提供了直接的入口进行修改软件管理。
当前还没有观点发布,欢迎您留下足迹!