临时增加虚拟机内存方法;make过程中“fatal error ... cc1plus“
make时遇到"fatal error ... terminated program cc1plus";因为内存不够
·
make过程中遇到"fatal error … terminated program cc1plus"
原因是内存不够,可以通过以下指令查看内存
free -m
笔者目前的:
Swap区内存大小:1425M
虚拟机内存大小:4493M
增加内存的方法有两种,增加虚拟机内存或者Swap区内存都可以
方法一:增加虚拟机内存
这种方法比较简单粗暴,但是缺点是受限于电脑内存,并且通常不能给的太大【给电脑内存80%左右就好】
关机后,在VMWare的“虚拟机配置”处进行设置
方法二:增加Swap区内存
如前文所述,可以通过以下指令查看现有内存:
free -m
参考文章:C++: fatal error: Killed signal terminated program cc1plus的问题解决
尝试增加swap区
有一个小技巧,在make时遇到许多Warning,非常碍眼,可以这样:
make -j4 2>&1 | grep -iE 'error|%' # 仅输出报错和百分号(进度)
按照原博主的方法,会说“打开’/swapfile’ 失败: 文本文件忙”
因此稍加修改:
sudo swapoff /swapfile
# 关掉交换文件
sudo dd if=/dev/zero of=/swapfile bs=512M count=10
# count的大小就是增加的swap空间的大小,bs是块大小为512M,所以空间大小是bs*count=5G
sudo mkswap /swapfile
# 把刚才空间格式化成swap格式
sudo chmod 0600 /swapfile
# 更改交换文件的权限为只有root用户可读写
sudo swapon /swapfile
# 使用刚才创建的swap空间
完成后,可以通过以下命令释放内存【swap内存会占用虚拟机磁盘容量,因此可以释放掉】:
sudo swapoff /swapfile
可以看到,现在Swap区已经没有内存了。
更多推荐
已为社区贡献1条内容
所有评论(0)