阿里云安装系统的时候,并没有挂载swap分区。而我们对数据盘进行分区的时候,把整个磁盘都用上了,并没用预留空间。swap分区是行不通了,只能试试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, 59.7957 s, 18.0 MB/s
需要格式化:
mkswap SWAPFILE 1048576
Setting up swapspace version 1, size = 1048572 KiB
no label, UUID=1aaed031-33ef-479b-a9a4-2f008a7bbb2f
使用格式化完毕的文件:
# swapon SWAPFILE
查看文件使用情况:
# swapon -s
Filename Type Size Used Priority
/srv/SWAPFILE file 1048572 95852 -1
加入自动启用
为避免重启后swapfile生效,可以将启用swap的代码加入启动文件中,对于ubuntu server,编辑 /etc/rc.local 文件,加入以下内容(具体文件路径自定):
swapon /srv/SWAPFILE
ps. 在此之前,本人尝试修改 /etc/fstab 的方法各种不生效,不知道为何。经过半个小时排查,才发现原来是/etc/rc.local中把swap关掉了:
swapoff -a
天煞的!把这句删掉,写到/etc/fstab中的挂载就生效了:
/srv/SWAPFILE swap swap defaults 0 0