在内存不够大时,需要开启Swap,使用一部分硬盘,作为虚拟内存,解决内存容量不足的情况。这篇博客是以 Ubuntu 基础来操作的,其他 Linux 系统基本类似。很简单,跟着下面的步骤,一步一步来操作即可。

注意:下面命令的操作,都是在终端中进行的

1. 确定当前没有开启 Swap

在终端使用命令 free -m 查看输出结果

1
2
3
4
total              used       free     shared    buffers     cached
Mem: 1840 1614 226 15 36 1340
-/+ buffers/cache: 238 1602
Swap: 0 0 0

可以看到最后一行是0 0 0,则表示当前没有开启。

2. 创建 Swap 文件

使用下面命令创建交换文件。因为要分配硬盘空间,所以有可能比较慢,等待一会

1
dd if=/dev/zero of=/swapfile count=2048 bs=1M

count=2048 表示创建 2G 的虚拟内存,因为这里用到的单位是 M,如果要创建 6G 虚拟内存,则把2048 改成 6144 即可,因为 1024 * 6 = 6144。

可以使用 ls / | grep swapfile 命令查看一下,确保交换文件存在,创建成功。

3. 激活 Swap 文件

依次执行下面的命令

1
chmod 600 /swapfile
1
mkswap /swapfile

依次运行上面两个命令后,如果成功,将会看到类似下面的输出

1
2
Setting up swapspace version 1, size = 2097148 KiB
no label, UUID=ff3fc469-9c4b-4913-b653-ec53d6460d0e

4. 开启 Swap

1
swapon /swapfile

到这里,Swap 已经开启成功。我们再次使用 free -m 命令查看一下,你将看到类似下面的输出。

1
2
3
4
total       used       free     shared    buffers     cached
Mem: 1840 1754 86 16 23 1519
-/+ buffers/cache: 210 1630
Swap: 2047 0 2047

最后一行 Swap 将不再是0 0 0,而是我们上面设置的大小

5. 设置系统启动时自动开启 Swap

使用编辑器编辑 /etc/fstab 文件,添加 Swap 自动开启的配置,这里使用 Vim进行编辑,也可以使用其他文本编辑工具,例如 nano

1
vim /etc/fstab

在 fstab 文件最后一行添加下面的内容

1
/swapfile none swap sw 0 0

然后保存,退出。

好了,现在 Swap 已经配置完,并且可以在系统启动时自动开启。