wordpress 服务重启 网页打开次数较多后 报内存不足

实际解决方案:

先找到占用内存严重的进程:
打印占用内存前10的进程:
ps aux | sort -k4,4nr | head -n 10

明确了是/usr/sbin/httpd -k start 这些进程在不断消耗内存,
与之前一直在查的PHP不是一回事,根本不是php在消耗内存。
而是httpd进程把内存消耗光了,造成php请求内存失败

httpd -V 看编译情况及加载的配置文件

修改了:
sudo vi httpd.conf , 把:#Include conf/extra/httpd-mpm.conf 前的”#”去掉了
/etc/httpd/extra/httpd-mpm.conf event里的参数,都改小了

这样修改httpd-mpm.conf就生效了。

 

 

下面这段是之前写的,文章刚要发布就因为内存不足而卡死:

背景: 升级apache到2.4, php重装后,访问wordpress网站经常会出现:Fatal error: Out of memory, 看后台error_log:  mmap() failed

尝试过多种方法都没有效果。

访问插件:http://www.xxxxxx.com/wp-admin/admin.php?page=aiowpsec&tab=tab2

在wordpress控制台内,看到PHP的内存是256M,但在服务器的配置文件中,看到的都是128M。说明配置哪里没有统一。因不知道那个256M的值是从哪里读取的,先把已知配置文件中,128M修改成256M:

vi ./wp-includes/default-constants.php,
发现这个文件里有两个变量限制内存大小 :WP_MEMORY_LIMIT WP_MAX_MEMORY_LIMIT

修改:wp-config.php,定义这2个变量的值如下:
define(‘WP_MEMORY_LIMIT’, ‘256M’);
define(‘WP_MAX_MEMORY_LIMIT’, ‘256M’);

修改之后,重启httpd服务,没有再发生内存不足的问题。

 

Leave a Reply

Your email address will not be published.