此网站为管振佐的个人博客,终身学习记录!
当前位置首页 > 运维> 正文

编译安装mysql5.7遇到c++: fatal error: Killed signal terminated program cc1plus

04-01 96 运维

朋友和上司总是问我:为什么不选择阿里云、腾讯云、百度云这些国内云服务商提供的云服务器。每次我都是笑笑。不是不想买,而是,同样的价钱范围,国外的比国内的好啊,还不减配。这不,最近购买了阿里云的2核2G3M的云服务器,编译安装mysql5.7遇到c++: fatal error: Killed signal terminated program cc1plus了。而国外的同样配置的云服务器,使用同样的编译命令却没有出现任何问题,顺利完成编译安装。

c++: fatal error: Killed signal terminated program cc1plus

在Linux环境下编译遇到“c++: fatal error: Killed signal terminated program cc1plus”问题,个人遇到这个问题的时候,都是因为内存不足导致的。同样是2G内存,为什么阿里云、腾讯云这些国内云服务商销售的云服务器就是内存不足呢?

通过dmesg | grep -i "kill process"查看原因,显示内存不足,如下图:

查看 kiled process,提示内存不足

解决c++: fatal error: Killed signal terminated program cc1plus的方法也很简单:创建SWAP分区!每次购买阿里云、华为云、腾讯云这些国内云服务商的云服务器时,都会遇到内存不足的问题!

创建SWAP分区:

# 创建交换文件(大小可自定义,如 8G、16G)
sudo fallocate -l 4G /swapfilesudo
chmod 600 /swapfilesudo
mkswap /swapfile # 格式化
sudo swapon /swapfile # 启用

使SWAP永久生效,将交换文件添加到/etc/fatab文件:

echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab


其他创建SWAP的方法:

sudo mkdir -p /var/cache/swap #创建分区路径
sudo dd if=/dev/zero of=/var/cache/swap/swap0 bs=64M count=64 #bs=64M是块大小,count=64是块数量,所以swap空间大小是bs*count=4096MB=4GB
sudo chmod 0600 /var/cache/swap/swap0 #设置该目录权限
sudo mkswap /var/cache/swap/swap0 #创建SWAP文件
sudo swpon /var/cache/swap/swap0 #激活SWAP文件
sudo swpon -s #查看SWAP信息是否正确

在编译完之后,如果不想要交换分区了,可以删除,删除交换分区的命令:

sudo swapoff /var/cache/swap/swap0
sudo rm /var/cache/swap/swap0

释放空间命令:sudo swapoff -a

查看当前内存使用情况:fress -m

版权保护: 本站内容采用CC-BY-NC协议且遵守CC-BY-NC-SA和CC-BY-NC-ND协议,转载请保留链接: https://www.guanzhenzuo.com/operation-and-maintenance/70.html

博客主人管振佐
男,河南人,做事情比较执着而已。
曾梦想仗剑走天涯,看一看世界的繁华,年少的心总有些轻狂,如今你四海为家...每一次难过的时候,就独自看一看大海...经历了人生百态世间的冷暖...

标签