前段时间在Linux上编译安装Mysql,都会触发OOM死机。尝试更换Linux发行版本和更换编译安装的Mysql版本,都没办法解决。最后经过多次尝试,找到了问题并解决了这个问题。

首先是在编译的时候我使用的是

make -j$(nproc)

这是根据服务器的CPU核心数量去并发构建,这样并发高,可能占用大量内存,造成触发OOM,于是这里编译构建的时候使用下面命令

# 保留2个核心
make -j$(nproc)-2

再一来原系统是没有Swap的,我增加了4GB的Swap,确保内存不足的时候,可以有缓冲的内存空间。

通过上面2个优化,终于可以顺利的在服务器上编译安装好Mysql了。