阿里云新用户优惠

CentOS 7 cron定时重启php-fpm

服务器使用nginx+php-fpm配置。

最近发现php-fpm总是不释放内存,服务器内存1G,本身就小,过一段时间就占满了。

只好在占满前手动restart。

然后搜索了一下,发现php-fpm确实存在不释放内存的情况。

按照介绍重新设置了

  • pm.start_servers:动态方式下的起始php-fpm进程数量 7
  • pm.min_spare_servers:动态方式下的最小php-fpm进程数 4
  • pm.max_spare_servers:动态方式下的最大php-fpm进程数量 10

最终命令:

pm.start_servers = min_spare_servers + (max_spare_servers - min_spare_servers) / 2

试用了一段时间,内存确实到90%左右就不增长缓慢了,但是数据堵塞了,只好继续restart。

在找到替换php-fpm之前,省事的方法还先设置一个定时任务,每天凌晨重启一下php-fpm访问。

先到win10自带的ubuntu上测试一番

第一个命令

service cron start : 提示no crontab for root – using an empty one

选择编辑器后 填写

* * * * * service nginx restart 每分钟重启一次nginx

默默等待一分钟,打开top,什么都没有发生,找日志,结果日志也没有。 搜索一番,始终找不到日志,顿时没了头绪。

换一个命令,再试一次。

* * * * * date >> /var/log/temp.txt

再次默默等待一分钟,切到var的log目录,居然出现了temp.txt。

再次搜索 定时启动php-fpm的命令。

最终命令:每天凌晨1点重启php-fpm服务

0 1 * * * systemctl restart php-fpm

关注微信公众号,与我交流吧~

分享