【问题解决】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
wyr@iZm5e9phbzdxx0lysrv9t2Z:~$ sudo mkdir -p /var/cache/swap/
wyr@iZm5e9phbzdxx0lysrv9t2Z:~$ sudo dd if=/dev/zero of=/var/cache/swap/swap0 bs=64M count=64
64+0 records in
64+0 records out
4294967296 bytes (4.3 GB, 4.0 GiB) copied, 37.7674 s, 114 MB/s
wyr@iZm5e9phbzdxx0lysrv9t2Z:~$ sudo chmod 0600 /var/cache/swap/swap0
wyr@iZm5e9phbzdxx0lysrv9t2Z:~$ sudo mkswap /var/cache/swap/swap0
Setting up swapspace version 1, size = 4 GiB (4294963200 bytes)
no label, UUID=613f57a0-8503-402e-b58b-a166de507d74
wyr@iZm5e9phbzdxx0lysrv9t2Z:~$ sudo swapon /var/cache/swap/swap0
wyr@iZm5e9phbzdxx0lysrv9t2Z:~$ sudo swapon -s
Filename Type Size Used Priority
/var/cache/swap/swap0 file 4194300 0 -2
wyr@iZm5e9phbzdxx0lysrv9t2Z:~$
分区创建并激活的效果图如下:
swap0文件的路径在/var/cache/swap/下,编译完后, 如果不想要交换分区了, 可以删除。
删除交换分区的命令:
sudo swapoff /var/cache/swap/swap0
sudo rm /var/cache/swap/swap0
释放空间命令:
sudo swapoff -a
#详细的用法:swapoff --help
#查看当前内存使用情况:free -m
参考链接:
【问题解决】内存不足引起“gcc: internal compiler error: Killed (program cc1plus)”以及解决办法_little_stupid_child的博客-CSDN博客
https://cuichongxin.blog.csdn.net/article/details/106208891
解决C++: fatal error: Killed signal terminated program cc1plus-pudn.com
C++: fatal error: Killed signal terminated program cc1plus的问题解决_Y1皇_的博客-CSDN博客