我在具有 64Gb RAM + 64Gb 交换分区的系统上运行 Ubuntu 16.04。它不是专用服务器,因此有其他进程同时运行。无论如何,当 MySQL 守护进程停止时,最大内存使用量约为。38Gb 所以 MySQL 最多可以使用 25Gb 自己而无需交换(恕我直言太多了)。
当 MySQL 守护进程启动时,htop 报告大约 1Gb RES (2.6Gb VIRT)。
一切正常,但是,它会缓慢增加内存使用量,直到大约 2 天(物理内存和交换内存)填满整个系统内存。
当它即将崩溃时,htop 会报告有关 25Gb RES (96Gb VIRT) 的信息。然后不知何故 MySQL 会自动重新启动,我们又回到了原点。
我在内存使用高峰时运行了 MySQLTuner 脚本:
# ./mysqltuner.pl
>> MySQLTuner 1.7.10 - Major Hayden <major@mhtx.net>
>> Bug reports, feature requests, and downloads at http://mysqltuner.com/
>> Run with '--help' for additional options and output filtering
[--] Skipped version check for MySQLTuner script
[OK] Logged in using credentials from Debian …Run Code Online (Sandbox Code Playgroud)