腾讯云服务器(学生优惠版)安装系统的时候,并没有挂载swap分区。但是我想对数据盘进行分区的时候,发现默认把整个磁盘都用上了,并没用预留空间。swap分区是行不通了,只能试试swap文件。
1.建立一个有连续空间的空白文件
root@VM-40-223-ubuntu:/# mkdir swap(注意,我第一次将SWAPFILE文件建立在/dev文件夹下会发生错误,所以我们在根目录下新建一个文件夹)
2.服务器的物理内存是1024MB,按照1~2倍原则,我将swap文件设置为1GB。
root@VM-40-223-ubuntu:/swap# dd if=/dev/zero of=SWAPFILE bs=1024 count=1048576
1048576+0 records in
1048576+0 records out
1073741824 bytes (1.1 GB) copied, 16.5022 s, 65.1 MB/s
3.必须先使用 mkswap 将文件格式化成swap格式,类似于fdisk中的82号ID(拉格朗日懵逼为什么会少了4KB?):
root@VM-40-223-ubuntu:/swap# mkswap SWAPFILE 1048576
Setting up swapspace version 1, size = 1048572 KiB
3.5 根据实际操作情景,需要先将SWAPFILE 设置为600
chmod 600 SWAPFILE
4.使用格式化完毕的文件:
root@VM-40-223-ubuntu:/swap# swapon SWAPFILE
可以查看文件使用情况:
root@VM-40-223-ubuntu:/swap# free
total used free shared buffers cached
Mem: 1025964 951572 74392 340 1920 873180
-/+ buffers/cache: 76472 949492
Swap: 1048572 0 1048572
5.加入自动启用
为避免重启后swapfile失去效,可以将启用swap的代码加入启动文件中,对于ubuntu server,修改 /etc/fstab 文件
root@VM-40-223-ubuntu:/etc# vi /etc/fstab
加入以下内容:
/swap/SWAPFILE swap swap defaults 0 0
重新启动后