Ubuntu 18 和 MySql 8. 内存不足

Ubuntu 18 和 MySql 8. 内存不足

我最近在具有 8GB RAM 和 500Gb HD 的 VMware 虚拟机中安装了带有 MySQL 8 和 Apache 的 Ubuntu 18 服务器。

我没有在里面进行太多配置my.cnf,除了:

innodb_dedicated_server = 1

一切运行正常,只是 Mysql 服务偶尔会重新启动。在里面/var/log/syslog我可以看到:

内存不足:杀死进程 6880 (mysqld) 得分 934 或牺牲子进程

我尝试删除该行(并恢复默认配置)并且该错误不再出现。

您认为这是 Mysql 8 的一个错误还是我可以做些什么?

答案1

这就是所谓的OOM Killer(内存不足杀手)当内存使用率达到 100% 时,它会被调用来选择并终止进程,以重新获得一些内存供系统使用。

答案2

你的内存不足。

您配置的选项是用于自动设置内存设置的专用 mysql 服务器- 意思是:一个只运行 mysql 的服务器。没有 Apache、没有 GUI 等。难怪它会占用大量内存。如果您想在此机器上运行其他服务并手动配置内存使用情况,请禁用此选项。

为了节省内存,可以减少并发线程数或每个线程的内存量。

使用 myISAM 和 InnoDB 引擎会使用更多的 RAM,因此如果您可以放弃其中一个,请在配置中禁用它。

mysqltuner 在这里也是一个有用的工具。它为您提供如下信息:

[--] Total buffers: 432.0M global + 66.6M per thread (50 max threads)
[OK] Maximum possible memory usage: 3.7G (23% of installed RAM)

生产数据库服务器需要 RAM。大量的 RAM。

相关内容