永久增加Swap交换空间大小

1、错误描述

在对ORB SLAM3进行编译时,多次出现一个现象,提示:c++: internal compiler error: 已杀死 (program cc1plus)。
报错情况:
在这里插入图片描述
这是由于自己的虚拟机交换空间不足导致的。

2、查看当前内存和交换空间情况

free -m

在这里插入图片描述这是已修改过的

3、增大交换空间

Swap大小设置的原则:Swap大小的设置应该与系统内存大小成比例。通常情况下,Swap大小应该是内存大小的 2 倍。例如,如果系统内存为 4GB,则Swap大小应该设置为8GB,这样可以确保系统在内存不足时能够正常运行。

方法一、修改swappiness 参数

在 Ubuntu 系统中,swappiness 是一个与交换空间相关的参数。它的取值范围是 0 到 100。swappiness 参数控制着系统在内存使用紧张时候使用交换空间的程度。默认情况下,Ubuntu 的 swappiness 值设置为 60。这意味着当系统内存使用达到约 40% 时,就开始使用交换空间。将swappiness 值修改为20,不仅可以减小交换空间内存的使用,还可以提高ubuntu运行的速度(较低的 swappiness 值减少了系统将内存页面移到交换空间的频率)。
参考链接:https://blog.csdn.net/weixin_45839124/article/details/106899186
如果这个方法不能解决,就用方法二

方法二、永久增加Swap交换空间大小(推荐

增加2G大小的交换分区

sudo swapoff -a             # 关闭所有正在使用的swap分区
sudo dd if=/dev/zero of=/swapfile bs=1M count=2048
# 创建一个名为swapfile的交换文件。bs:是块大小,count:被复制的块数。所以空间大小是bs*count=2048MB
sudo mkswap /swapfile       # 将swapfile转换为swap格式。这要求文件的权限已设置为只有 root 用户可读写
sudo swapon /swapfile       # 启用刚才创建的swap空间
sudo swapoff /swapfile      # 关闭名为swapfile的交换空间  (编译后,按需要关闭)
sudo rm /swapfile           # 若有需要,也可以删掉交换空间

块大小可以使用的计量单位表
在这里插入图片描述参考链接:https://blog.csdn.net/HongkeShuai/article/details/130505353(推荐)

**如果还是报错就将编译命令 make -j4 改成 make **
错误解决

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值