【问题解决】C++: fatal error: Killed signal terminated program cc1plus

1. 问题描述

在Linux系统中进行C++编译时,出现如下报错,导致编译中止:

C++: fatal error: Killed signal terminated program cc1plus
compilation terminated.

2. 解决方法——swap分区

查阅相关信息后,认为是虚拟机内存不足造成的。通过创建swap分区解决了这个问题,编译成功。
下面总结一下swap分区的创建和激活等操作:

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

分区创建并激活的效果图如下:
在这里插入图片描述

swap0文件的路径在/var/cache/swap/下,编译完后, 如果不想要交换分区了, 可以删除。

删除交换分区的命令:

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

释放空间命令:

sudo swapoff -a
#详细的用法:swapoff --help
#查看当前内存使用情况:free -m

参考链接:
https://blog.csdn.net/little_stupid_child/article/details/79188015
https://cuichongxin.blog.csdn.net/article/details/106208891

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐