PHP内存限制每天两次恢复到2M
Posted
技术标签:
【中文标题】PHP内存限制每天两次恢复到2M【英文标题】:PHP Memory Limit Reverting to 2M twice a day 【发布时间】:2020-09-24 00:50:53 【问题描述】:最近从 cPanel 托管服务器迁移到运行 bitnami-lampstack-7-3-17-1-linux-debian-9-x86-64 的 GCP 计算引擎。
在之前的cPanel环境中不会出现以下错误。
我在 /opt/bitnami/php/etc/php.ini 中将 memory_limit 更改为 64M 并更改并将 php_value[memory_limit]=64M 添加到 /opt/bitnami/php/etc/php-fpm.conf文件和一天两次,下午晚些时候和清晨,该站点将抛出内存不足错误,内存限制为 2M,直到我重新启动 php-fpm 我什至将 ini_set('memory_limit', '128M) 添加到 init. php 文件包含在每个页面上,它仍然恢复到 2M 并且每天大约在同一时间抛出错误,直到我重新启动 php-fpm
.htaccess 在 Apache httpd.conf 中被禁用: 允许覆盖无 要求全部拒绝
我没有运行任何 crons,也无法在 php 错误日志中识别出任何可以产生更多洞察力的模式。
感谢您的帮助和见解
【问题讨论】:
【参考方案1】:Bitnami 工程师在这里。
其中一个原因是您的服务器正在接收的请求数量。如果机器人或攻击者多次请求您的站点,您需要增加站点使用的内存。您可以查看 access_log 文件(/opt/bitnami/apache2/logs/ 文件夹)以查看是否有特定 IP 多次请求您的站点。一个有用的命令就是这个
cd /opt/bitnami/apache2/logs/
tail -n 10000 access_log | awk 'print $1'| sort| uniq -c| sort -nr| head -n 10
您可以稍后修改自定义应用程序的 httpd-app.conf 文件或主虚拟主机 (/opt/bitnami/apache2/conf/bitnami/bitnami.conf) 以拒绝与该 IP 的连接
deny from 1.2.3.4
您需要稍后重新启动 Apache
sudo /opt/bitnami/ctlscript.sh restart apache
您可以在此处找到更多信息:
https://docs.bitnami.com/google/infrastructure/lamp/troubleshooting/deny-connections-bots/
【讨论】:
感谢您的回复。很多时候,当内存限制恢复到 2M 时,我们会在下午访问该站点,并且我们会记录确切的时间。我在内存限制恢复到 2M 之前进行了审查,我没有看到异常活动/请求的增加。我看到了几个 408 回复,但这一切看起来很奇怪。在我们一天中最慢的部分,限制也会恢复到 2M。 机器中应该配置了一些东西,它正在更改配置并重新启动服务。请注意,memory_limit 值是需要在配置文件中更改的内容,需要重新启动服务才能使更改生效以上是关于PHP内存限制每天两次恢复到2M的主要内容,如果未能解决你的问题,请参考以下文章
限制容器对内存的使用 - 每天5分钟玩转 Docker 容器技术(27)
限制容器对内存的使用 - 每天5分钟玩转 Docker 容器技术(27)