首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >InnoDB:无法为缓冲池分配内存

InnoDB:无法为缓冲池分配内存
EN

Ask Ubuntu用户
提问于 2016-12-12 13:50:18
回答 1查看 1.5K关注 0票数 1

自从我在服务器(lamp)上添加了一个wordpress站点(Lamp)几个星期以来,mysql网站时不时就会崩溃。mysql日志包含:

代码语言:javascript
复制
InnoDB: Cannot allocate memory for the buffer pool

这表明我没有足够的记忆。

服务器有1gb内存,如果我正确的话,它包含2gb交换:

innodb_buffer_pool_size = 128.0M

服务器上的流量很低,网站每天的访问量约为150人。

我知道我可以降低inno_db_buffer_size,但这不能解决内存使用率高的问题。

我怀疑wordpress是原因,因为它开始后,添加wordpress网站。如何检测错误的原因以避免mysql崩溃。

EN

回答 1

Ask Ubuntu用户

发布于 2016-12-13 04:14:12

跟我重复一遍:

MySQL没有崩溃。

这是一种常见的情况,而“崩溃”是一种常见的误解.但在现实中,几乎可以肯定的是,由于严重的低内存状况(通常是由Apache造成的),MySQL正在被系统杀死。

代码语言:javascript
复制
sudo egrep 'kernel|oom' /var/log/syslog

请注意,这不是一次崩溃:

代码语言:javascript
复制
InnoDB: Cannot allocate memory for the buffer pool

这是MySQL无法重新启动的,即使它在被杀死后试图恢复,因为服务器上仍然没有128 MB的空闲内存,这是因为apache的子类消耗了所有内存。

重新启动后,没有人连接到您的网站,因此内存问题消失了。

请参阅https://dba.stackexchange.com/a/25083/11651

您需要更多的内存,或者需要在不同的机器上运行Apache和MySQL,或者需要配置Apache以减少负载下的内存需求。

为了一个好的和正确的爱,不要使用mysqltuner或任何类似的东西。他们做出猜测,给出糟糕的建议,而他们不是你的朋友。保留MySQL默认值。

票数 1
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/859859

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档