工具、教程收藏 · 2018年12月8日

Debian/Ubuntu增加、删除Swap

1、检查 Swap 空间,先检查一下系统里有没有既存的 Swap 文件

# 查看swap使用情况
swapon -s

# 查看内存和swap使用情况
free -h

# 查看swap分区信息
cat /proc/swaps

如果返回的信息概要是空的,则表示 Swap 文件不存在。
2、确定swap文件的大小,单位为M。将该值乘以1024得到块大小。例如,64MB的swap文件的块大小是65536。
3、创建 Swap 文件,下面使用 dd 命令来创建 Swap 文件。of=/swapfile是swap文件路径自行修改

sudo dd if=/dev/zero of=/swapfile bs=1024 count=4194304

Swap 文件大小对照表

大小 count 值 适用场景
1GB 1048576 小内存服务器(≤2GB RAM)
2GB 2097152 中等内存服务器(2-4GB RAM)
4GB 4194304 大内存服务器(4-8GB RAM)
8GB 8388608 大内存服务器(8-16GB RAM)
16GB 16777216 超大内存服务器(>16GB RAM)

【参数说明】
if=文件名:输入文件名,缺省为标准输入。即指定源文件。< if=input file >
of=文件名:输出文件名,缺省为标准输出。即指定目的文件。< of=output file >
bs=bytes:同时设置读入/输出的块大小为bytes个字节
count=blocks:仅拷贝blocks个块,块大小等于bs指定的字节数。
4、创建好Swap文件,还需要格式化后才能使用。运行命令:

sudo mkswap /swapfile

5、最后,赋予 Swap 文件适当的权限:

sudochown root:root /swapfile
sudo chmod 0600 /swapfile

6、激活 Swap ,运行命令:

sudo swapon /swapfile

7、如果要机器重启的时候自动挂载 Swap ,那么还需要修改 fstab 配置。
用 vim 打开 /etc/fstab 文件,在其最后添加如下一行:

sudo /swapfile   swap   swap    defaults 0 0

当下一次系统启动时,新的swap文件就打开了。
8、添加新的swap文件并开启后,检查 cat /proc/swaps 或者free命令的输出来查看swap是否已打开。

9、删除SWAP分区

sudo swapoff  /swapfile  #卸载swap文件
并修改/etc/fstab文件 #从配置总删除
sudo rm -rf /swapfile  #删除文件