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

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

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

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

2. 解决方法——swap分区

查阅相关信息后,认为是虚拟机内存不足造成的。通过创建swap分区解决了这个问题,编译成功。

sudo mkdir -p /var/cache/swap/
sudo dd if=/dev/zero of=/var/cache/swap/swap0 bs=1G count=8
sudo chmod 0600 /var/cache/swap/swap0
sudo mkswap /var/cache/swap/swap0
sudo swapon /var/cache/swap/swap0
sudo swapon -s

如果是在docker 中, 增加swap 需要在host 进行

由于每个运行的docker容器都使用主机内核,它们还使用主机的内存和交换。如果有需求,要求更好地使用主机交换空间的。如果你想从容器中添加交换,你有两个选择。
1. 以特权模式运行容器
在这种情况下,您将必须使用–privileged选项运行容器。
#示例
docker run -it –rm –privileged centos:6
2. 运行具有特权模式的容器可以为主机提供容器完整权限。
如果您阅读swapon的联机帮助页面,您可以看到,对于swapon来运行该进程应该具有CAP_SYS_ADMIN功能。在Docker中,您可以使用-cap-add参数有选择地向容器添加特定的功能。
#示例
docker run -it –rm –cap-add SYS_ADMIN centos:6
如果您以上述两种模式运行容器,您可以实现您正在尝试的功能。
现在,这种方法的问题是,当您在容器内创建交换并开始使用它时,实际上是使用它的主机内核,因此当您退出容器而不进行swapoff时,主机内核将仍然使用该文件,你不会得到一个干净的出口的容器。您将看到容器的死亡状态。

https://github.com/soedinglab/hh-suite/issues/280

https://blog.csdn.net/Aria_Miazzy/article/details/102455013

https://blog.csdn.net/weixin_44796670/article/details/121234446

posted @   michaelchengjl  阅读(2069)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
历史上的今天:
2021-05-08 ubuntu18.04 Testlink安装 配置
点击右上角即可分享
微信分享提示