给阿里云主机添加swap分区,解决问题:c++: internal compiler error: Killed (program cc1plus)

时间:2023-11-20 22:45:20

前言

今天安装spdlog,一个快速得C++日志库,按照文档步骤,不料出现了一堆错误,像c++: internal compiler error: Killed (program cc1plus)等一堆,刚开始以为环境有问题,弄了一会还是不行,查了一下才知道,是物理内存太小,需要swap分区才行。

创建swap分区

  • 首先创建用户交换分区的文件,创建2G得分区文件。
dd if=/dev/zero of=/mnt/swap bs=1M count=2048
  • 初始化分区文件
mkswap /mnt/swap
  • 启动交换分区
swapon /mnt/swap
  • 设置开机自动挂载
vim /etc/fstab

添加 /mnt/swap swap swap defaults 0 0

  • 设置使用swap分区的阀值
vim /etc/sysctl.conf

修改文件中的vm.swappiness = 50,阿里云linux默认是0。

sysctl vm.swappiness=50

当swappiness内容的值为0时,表示最大限度地使用物理内存,物理内存使用完毕后,才会使用SWAP分区。当swappiness内容的值为100时,表示积极地使用SWAP分区,并且把内存中的数据及时地置换到SWAP分区。我们这里设置的50,就表示当物理内存少于50%时便使用交换分区。

最后,就可以成功得编译程序了

给阿里云主机添加swap分区,解决问题:c++: internal compiler error: Killed (program cc1plus)

参考

给阿里云的linux服务器添加swap分区

Ubuntu16.04 编译出错c++: internal compiler error: Killed (program cc1plus)