增加swapfile
swap
是Linux中的虚拟内存,用于扩充物理内存不足而用来存储临时数据存在的。它类似于Windows中的虚拟内存。在Windows中,只可以使用文件来当作虚拟内存。而linux可以文件或者分区来当作虚拟内存。
本人使用的是RK3399开发板,配置2G内存,在绝大多数的编译(例如dlib的编译)环节会出现内存占满,系统卡死重启的异常情况。下面为了给Ubuntu系统装caffe需增加2Gswap空间(一般等同内存或2倍内存)。
1.根目录新建一个swap文件,并进入
sudo su
mkdir /swap
2.这样就建立一个/swap/swapfile的分区文件,大小为2G。
dd if=/dev/zero of=/swap/swapfile bs=1024 count=2100000
3.制作为swap格式文件
mkswap /swap/swapfile
4.再用swapon命令把这个文件分区挂载swap分区
swapon /swap/swapfile
再用free -h
命令看一下,发现已经有交换分区了。
整体流程如下图:
5.为防止重启后swap分区变成0,要修改/etc/fstab文件
sudo gedit /etc/fstab
然后在末尾添上/swap/swapfile swap swap defaults 0 0
,确保在重启后这个虚拟内存还存在