Linux-笔记 g++: internal compiler error: Killed (program cc1plus)报错

前言

        编译buildroot的时候报错了,通过查阅资料发现问题可能是编译器进程 cc1plus 被系统终止了。这种情况通常发生在编译过程中消耗了大量的系统资源,特别是内存,而系统为了释放资源而终止了该进程,如系统的物理内存(RAM)或者交换空间不足以支持编译过程中的内存需求,系统可能会终止 cc1plus 进程以防止系统崩溃或变得不响应。

        怀疑是交换分区不够导致编译不过,通过命令free -h查看发现交换分区真的不够了,所以可以通过扩充交换分区大小来解决问题。

实现

        1、创建新交换文件

sudo fallocate -l 2G /swapfile2   # 创建一个2GB大小的交换文件

        2、设置文件权限

sudo chmod 600 /swapfile2   # 设置文件权限为600,只有 root 用户可以读写这个文件

        3、格式化为交换文件系统

sudo mkswap /swapfile2   # 格式化交换文件

        4、启用交换文件

sudo swapon /swapfile2   # 启用新创建的交换文件

        5、设置永久生效

        为了让系统在重启后仍然使用新的交换文件,需要将其添加到 /etc/fstab 文件中。

echo '/swapfile2 none swap sw 0 0' | sudo tee -a /etc/fstab

        这条命令将 /swapfile2 添加到 /etc/fstab 文件的末尾,确保它在系统启动时自动加载为交换空间。

        6、查看

sudo swapon --show   # 查看当前正在使用的交换空间
free -h              # 查看系统内存和交换空间的使用情况

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值