为oracle vps的ubuntu镜像系统添加swap
oracle云免费的x86主机,只是区区的1G内存,而且oracle的ubuntu镜像还默认禁用了swap分区。
因此进行一些需要消耗较大内存的操作时,就可能出问题。
比如尝试编译r2s专用的openwrt时,直接把系统给卡死了。在发现系统完全没有swap分区后,就着手加个swap分区。
此时使用free -h
应该看到完全没有swap的情况。
Swap: 0B 0B 0B
因为实际有1G的物理内存,所以添加个2G的swap。
首先创建一个做为swap的空文件,并指定大小。
sudo fallocate -l 2G /swap
要做为swap使用,必须为0600权限。因此修改文件权限,并转为swap格式文件。
sudo chmod 600 /swap
sudo mkswap /swap
然后启用swap
sudo swapon /swap
这时候再用free -h
查看就可以看到已经启用的swap了。
Swap: 2.0Gi 89Mi 1.9Gi
这个时候还只是临时启用,重启之后就会失效。需要把配置写入/etc/fstab
中,才可以在系统重启后自动挂载。
将以下配置写入fstab中:
/swap swap swap defaults 0 0
添加了swap之后,就顺利的把r2s的openwrt编译完成了。效果还是很明显的。
最后,如果想停用swap。可以使用以下命令停用,再去掉fstab中的配置并删除文件。
sudo swapoff /swap