PHP-FPM 定期调用 OOM

PHP-FPM 定期调用 OOM

我正在使用带有最新 1GB 内存的EC2实例。我正在使用with上传和使用最新的with转换图片。我的配置:t4g.microarm64ubuntunginxPHP-FPMimage.interventionGDPHP_FPM

pm = static
pm.max_children = 1
pm.max_requests = 300

和 php.ini:

max_execution_time = 5
memory_limit = 100M
opcache.enable = 1
opcache.jit_buffer_size = 50M
opcache.jit = 1255

然而我仍然时不时地在我的网站上收到这些消息syslog

Out of memory: Killed process 510 (php-fpm8.3) total-vm:490452kB, anon-rss:273404kB, file-rss:2944kB, shmem-rss:3840kB, UID:1001 pgtables:708kB oom_score_adj:0
Out of memory: Killed process 510 (php-fpm8.3) total-vm:499780kB, anon-rss:282508kB, file-rss:2944kB, shmem-rss:3968kB, UID:1001 pgtables:720kB oom_score_adj:0
Out of memory: Killed process 20481 (php-fpm8.3) total-vm:495800kB, anon-rss:272472kB, file-rss:2944kB, shmem-rss:3456kB, UID:1001 pgtables:708kB oom_score_adj:0
Out of memory: Killed process 24725 (php-fpm8.3) total-vm:465556kB, anon-rss:247920kB, file-rss:2944kB, shmem-rss:1664kB, UID:1001 pgtables:648kB oom_score_adj:0
Out of memory: Killed process 24732 (php-fpm8.3) total-vm:458888kB, anon-rss:240892kB, file-rss:2816kB, shmem-rss:3456kB, UID:1001 pgtables:624kB oom_score_adj:0
Out of memory: Killed process 24739 (php-fpm8.3) total-vm:458280kB, anon-rss:240372kB, file-rss:2816kB, shmem-rss:3456kB, UID:1001 pgtables:628kB oom_score_adj:0

有时它会导致我的实例根本没有响应,甚至没有响应SSH,并且 CPU 在 AWS 监视器上达到 60%,并保持在那里,直到我多次手动单击重新启动实例,这可能会导致硬重启。

我的php脚本很简单,获取后期图像文件,将其转换并保存,image.intervention仅使用函数,不会引发错误。 OOM 被杀可能每周发生一次..

我尝试将配置调整到尽可能低的配置,降低配置pm.max_requests对我来说不是解决方案。我想要的只是避免 OOM 干预,控制php在崩溃之前杀死占用大量内存的请求PHP-FPM。我已经修改了PHP-FPM服务以在失败时自行重启,但有时它会用高 CPU 来破坏整个ubuntu系统,并使其无法响应任何事情,这是我首先必须避免的。

php arm是否可以避免特定实例上的泄漏x86?如何稳定我的实例?

相关内容