首页 > 解决方案 > 内存满后MySql自动重启

问题描述

我们在 CloudSql 上使用 MySql 已经有一段时间了。显然,我们从 Mysql 5 开始,但经过漫长的等待和 Mysql8 的最终版本,我们决定升级我们的数据库服务器。正如标题所宣传的那样,我们现在看到了一种奇怪的内存利用行为。正如您在此处看到的,它会不断填满,直到达到服务器最大资源,然后重新启动并再次开始填满。 在此处输入图像描述

我的意思是我们的一项服务可能存在问题,但在升级之前,我们的内存消耗看起来像这样: 在此处输入图像描述 所以你可以看到,内存消耗或多或少是恒定的。

此外,我们在升级到 mysql8 并从 db-n1-standard-1 切换到 db-n1-standard-2 时增加了资源,以便在数据增长时拥有更多可用资源。

有谁知道这种行为?Mysql5到8有变化吗?我没有找到任何关于它的信息。刚刚发现一些笔记,Mysql尽可能多地占用内存是正常的。但我仍然想知道为什么它没有在 Mysql5 上。

有关配置的更多详细信息:

其他一切都是默认的 CloudSql 配置。

任何帮助深表感谢。

最好的问候,克里斯

标签: mysqlgoogle-cloud-sql

解决方案


事实上,MySQL 8 似乎比 MySQL 5 消耗更多的内存。正如文章MySQL 8 和 MySQL 5.7 Memory Consumption on Small Devices 的作者所做的一些测试所示,相同 VM 设置下版本 8 使用的内存为远高于版本 5,包括常驻内存和虚拟内存——尽管这些是在小型 VM 中进行的测试,但这很好地表明这也发生在更大的配置中。

所以,是的,看起来,正如你所提到的,Mysql 尽可能多地占用内存是正常的,但事实上,MySQL 8 比 5 消耗更多的内存。


推荐阅读