在内存不够大时,需要开启Swap,使用一部分硬盘,作为虚拟内存,解决内存容量不足的情况。这篇博客是以 Ubuntu 基础来操作的,其他 Linux 系统基本类似。很简单,跟着下面的步骤,一步一步来操作即可。
注意:下面命令的操作,都是在终端中进行的
1. 确定当前没有开启 Swap
在终端使用命令 free -m
查看输出结果
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 文件
使用下面命令创建交换文件。因为要分配硬盘空间,所以有可能比较慢,等待一会
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 文件
依次执行下面的命令
chmod 600 /swapfile
mkswap /swapfile
依次运行上面两个命令后,如果成功,将会看到类似下面的输出
Setting up swapspace version 1, size = 2097148 KiB
no label, UUID=ff3fc469-9c4b-4913-b653-ec53d6460d0e
4. 开启 Swap
swapon /swapfile
到这里,Swap 已经开启成功。我们再次使用 free -m
命令查看一下,你将看到类似下面的输出。
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
vim /etc/fstab
在 fstab 文件最后一行添加下面的内容
/swapfile none swap sw 0 0
然后保存,退出。