首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL内存不足

问MySQL内存不足
EN

Database Administration用户
提问于 2017-04-21 07:55:46
回答 1查看 1.6K关注 0票数 0

我正在运行一个带有1024 mb内存的VPS,它承载了一个WordPress站点。最近,我遇到了很多数据库问题,WordPress给了我“建立数据库连接的错误”。我可以使服务器崩溃,只要爬行它与尖叫青蛙SEO工具。

有时问题会自行解决,有时我需要手动重新启动MySQL,而另一些时候则需要完全重新启动服务器。

我认为这个错误与MySQL本身有关,但是在检查了各种日志之后,我的服务器似乎没有内存了,因此简单地关闭了MySQL。

使用MySqltuner,我将得到以下结果:

代码语言:javascript
复制
[--] Physical Memory     : 992.6M
[--] Max MySQL memory    : 804.0M
[--] Other process memory: 306.2M
[--] Total buffers: 225.0M global + 1.1M per thread (151 max threads)
[--] P_S Max memory usage: 409M
[--] Galera GCache Max memory usage: 0B
[OK] Maximum reached memory usage: 643.1M (64.79% of installed RAM)
[OK] Maximum possible memory usage: 804.0M (80.99% of installed RAM)
[!!] Overall possible memory usage with other process exceeded memory

My.cnf中的设置:

代码语言:javascript
复制
[mysqld]
max_allowed_packet=268435456
open_files_limit=10000
innodb_buffer_pool_size = 128M
innodb_log_file_size = 128M
key_buffer_size = 64M
innodb_file_per_table
slow_query_log=1
slow_query_log_file="/var/log/slowqueries"
long_query_time = 3
general_log=1
general_log_file="/var/lib/mysql/generalqueries"

希望能有一些建议,从这里开始,找出是什么消耗了我的记忆,引起了这些问题。

EN

回答 1

Database Administration用户

发布于 2017-04-21 16:41:05

今天1GB是“很小”的。

交换对于MySQL性能来说是很糟糕的,所以重要的是不要调得太大。

max_allowed_packet --高得危险,换到30M;如果你真的需要更多的内存,那么要么获得更多内存,要么我们可以深入挖掘以找到其他解决方案。

将max_connections改为40。

将open_files_limit改为1000。

当“建立数据库连接”时,你能查出具体的错误吗?这也会有帮助的。

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

https://dba.stackexchange.com/questions/171599

复制
相关文章

相似问题

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