服务器因php-fpm占满内存导致卡顿的问题

问题

我的网站审核过了,配置了ssl,然后发现太卡了!
后来看了下,是我的2G内存被占满了。
在linux下打开top一看,有很多名为php-fpm的进程,大概20个,每个占据80M的内存。
稍微乘一下就发现一共占了1.6G了。我的内存!!

file

解决方法

推荐查看文章https://cloud.tencent.com/developer/article/1796128
在网上找到了解决方法。首先在宝塔里找到php-fpm的配置文件,我的是在/www/server/php/74/etc里。
我现在的配置:

[global]
pid = /www/server/php/74/var/run/php-fpm.pid
error_log = /www/server/php/74/var/log/php-fpm.log
log_level = notice

[www]
listen = /tmp/php-cgi-74.sock
listen.backlog = 8192
listen.allowed_clients = 127.0.0.1
listen.owner = www
listen.group = www
listen.mode = 0666
user = www
group = www
pm = dynamic
pm.status_path = /phpfpm_74_status
pm.max_children = 25
pm.start_servers = 10
pm.min_spare_servers = 10
pm.max_spare_servers = 15
request_terminate_timeout = 100
request_slowlog_timeout = 30
slowlog = var/log/slow.log

php_admin_value[memory_limit] = 128M

然后,重启php-fpm服务:
在linux面板中,先全部杀死php-fpm进程:

killall php-fpm

然后,再重启php-fpm:

sudo /www/server/php/74/sbin/php-fpm &

是的,我的php-fpm的执行文件在sbin文件夹里。
这样之后,就会发现内存显著减少了。
file