gcc编译出现Internal compiler error: Killed 或 无法分配内存 virtual memory exhausted: Cannot allocate memory

当系统没有交换分区时,编译过程可能会因内存耗尽而中断。为解决此问题,可以按照以下步骤创建并激活一个2GB的交换分区:1) 使用dd命令创建分区文件;2) 通过mkswap命令生成swap文件系统;3) 激活swap文件。然而,这种方法不会在重启后自动挂载,因此需要编辑/etc/fstab文件,添加对应条目以实现自动挂载。
摘要由CSDN通过智能技术生成

原因:

均为系统没有交换分区, 编译过程中内存耗尽, 导致了编译中断


解决方式:

增加一个交换分区

1.创建分区文件, 大小2G

dd if=/dev/zero of=/swapfile bs=1k count=2M

2.生成swap 文件系统

mkswap /swapfile

3.激活swap 文件

swapon /swapfile

这样就没问题了, 但是这样并不能在系统重启的时候自动挂载交换分区, 这样就需要修改fstab。

4.修改/etc/fstab 文件, 新增如下内容:

/swapfile swap  swap  defaults 0 0

这样每次重启系统就会自动加载swap 文件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值