编译出现错误: g++: internal compiler error: Killed (program cc1plus)
Please submit a full bug report`
解决: 这种错误一般是由于内存不足导致,但是看起来内存明明还有,所以通过临时交换swap分区大小来解决
1 swap分区概念
交换区可是看作是内存的一部分,只是它是从硬盘中划分出来的,它像windows下的虚拟内存,它的作用是缓存数据,划分它时,大小设成你的物理内存的大小的两倍。
2 设置swap交换分区
交换分区的大小分配推荐法则
内存小于4GB时,推荐不少于2GB的swap空间;
内存4GB~16GB,推荐不少于4GB的swap空间;
内存16GB~64GB,推荐不少于8GB的swap空间;
swap分区直接使用以下方法:
sudo dd if=/dev/zero of=/var/swapfile bs=1M count=128
sudo chmod 0600 /var/swapfile
sudo mkswap /var/swapfile
sudo swapon -f /var/swapfile
sudo swapoff /var/swapfile //修改swap分区大小,先关闭再重复以上步骤.
1、以上命令即可创建一个128MB的文件来做为虚拟内存(swap),大小自己可以修改那个第一条命令的128 即可, 完成后使用 free 可查看到已启用Swap。
2、需要使用开启swap分区的内核,使用开启swap分区的内核替换掉SD卡的内核启动后,再执行以上命令即可。具体开启方法见 linux内核编译详细步骤