版权声明:版权归PHPerJiang所有 https://blog.csdn.net/qq_36558538/article/details/88394318
场景
最近想配置一个LNMP环境在Centos7上装mysql8.0的时候出现一个问题
internal compiler error: Killed (program cc1plus)
这个是个报错,一开始不明白是为啥,后来谷歌了一下,找到了原因 --- 内存不足,因为在gcc编译的时候会大量使用内存,而我的服务器是个学生价淘来的一个CPU一核的服务器,在我装mysql编译的时候出现了这个问题
解决方案
既然内存不足的话,那我们就来加一个交换分区(swap)吧
1.创建分区文件
#服务器上的交换分区建议创建物理内存的一般即可
dd if=/dev/zero of=/swapfile bs=1k count=1024000
2.生成swap文件系统
mkswap /swapfile
3.激活swap文件
swapon /swapfile
4.配置自动启动项,让服务器重启时能够自动挂载交换分区
#打开系统文件
vi /etc/fstab
添加如下行
/swapfile swap swap defaults 0 0
5.如果系统默认设置很小的话,会不积极使用swap,所以我们需要调整一下
sysctl vm.swappiness=100
好了这样再编译一次mysql的时候就会好的,编译过程就不会因为内存过小而终止,这个过程我们可以使用再打开一个客户端使用top命令来查看内存及交换空间的使用率
shell脚本
#!/bin/bash
dd if=/dev/zero of=/swapfile bs=1k count=1024000
mkswap /swapfile
swapon /swapfile
echo "/swapfile swap swap defaults 0 0" >> /etc/fstab
sysctl vm.swappiness=100