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
版权声明:文章图片资源来源于网络,如有侵权,请留言删除!!!
评论