在编译时遇到 out of memory allocating 的完美解决方案
Ubuntu 18 修改swap分区大小
1、查看初始状态
查看原先swap大小
root@kevinl:~# free -h
原先swap文件位置
root@kevinl:~# swapon -s
2、创建一个新的swap文件
一般swap分区要大于或等于物理内存(1-1.5倍),最大一般有20G即可,我这里创建12G:
root@kevinl:~# cd /
root@kevinl:/# dd if=/dev/zero of=/swapfile1 bs=1G count=12 //count 后面的设定是期望的swap内存大小
root@kevinl:/# ll
-rw------- 1 root root 2147483648 3月 25 20:41 swapfile # 之前的swap文件
-rw-r--r-- 1 root root 12884901888 4月 10 17:22 swapfile1 # 新创建的swap文件
3、创建swap文件系统
root@kevinl:/# mkswap -f swapfile1
root@kevinl:/# chmod 0600 swapfile1
root@kevinl:/# ll
4、开启新的swap
root@kevinl:/# swapoff /swapfile
root@kevinl:/# free -h
root@kevinl:/# swapon /swapfile1
root@kevinl:/# free -h
5、设置开机启动
root@kevinl:/# vim /etc/fstab
/swapfile none swap sw 0 0
改为
/swapfile1 none swap sw 0 0
6、重启
重启,然后查看是否有问题
shutdown -r now
可以先在虚拟机上测试,如果成功的话,再在物理机操作,如果都没问题的话,可以删掉旧的swap文件
rm -f /swapfile // 这步做之前, 一定要先备份系统, 虚拟机的话可以要快照一下, 免得开不了机(可以reboot试试看)