最近在编译路由器系统的时候,编译器调用了gcc编译,但是过程中总是报错“Killed signal terminated program cc1plus”于是查找了一些资料后才确定是linux的swap分区太小,导致编译时内存溢出了。
输入命令“sudo swapon -s”即可查看目前已经分配的swap分区大小。
上面可以看到,系统默认给的才不到4个GB,很多大型编译的时候都有可能会溢出的。
1.禁用swap分区
sudo swapoff /swapfile
2.修改swap分区到8GB
sudo dd if=/dev/zero of=/swapfile bs=1M count=8192
TIP:这里可以自己修改块的大小和数量来达到想要的大小
3.设置“swap file”类型
sudo mkswap /swapfile
4.启动swap
sudo swapon /swapfile