最终仔细排查发现,问题出在 opcache.memory_consumption 和 opcache.interned_strings_buffer 这2个参数配置问题,太小了不够用,分别调大一倍,并将 interned_strings_buffer 设为前者的一半后,问题解决。
最终配置
opcache.memory_consumption = 256
opcache.interned_strings_buffer=128
最近一周,几乎每天出现一次这类错误
无论是执行 php -v
还是 php start.php reload
php start.php restart
等任何有关php操作,都会报错 Fatal Error Insufficient shared memory!
只好 ps aux 然后 kill -9 所有workerman 进程,再启动。
服务器 4核,开启8个进程,压力主要集中在4个进程上。当kill -9 掉这4个进程后,再php相关操作就不再报错了.php 内存限制 1280M,报错时为止,服务器内存 尚余 10% 空闲。
php -v
php start.php start
php start.php restart
php start.php reload
Fatal Error Insufficient shared memory
Linux iZbp151opoxzdhdzlc7ufyZ 3.10.0-1127.19.1.el7.x86_64 #1 SMP Tue Aug 25 17:23:54 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
LSB Version: :core-4.1-amd64:core-4.1-noarch
Distributor ID: CentOS
Description: CentOS Linux release 7.8.2003 (Core)
Release: 7.8.2003
Codename: Core
PHP 8.1.9 (cli) (built: Aug 9 2022 10:39:55) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.9, Copyright (c) Zend Technologies
with Zend OPcache v8.1.9, Copyright (c), by Zend Technologies
Webman-framework v1.3.14
坐等高手指教,(#^.^#)
感谢回答,最终仔细排查发现,问题出在 opcache memory_consumption interned_strings_buffer 这2个参数配置问题,分别调大一倍,并将 interned_strings_buffer 设为前者的一半后,问题解决