在Linux上设置交换文件

注:本教程在Vultr VPS上测试通过,如需部署请前往Vultr.com

有时您需要提高服务器的响应速度,以防止出现内存不足的问题。当服务器上运行的应用程序开始消耗大量内存时,就会发生内存不足问题。交换被设计为虚拟内存,它使用硬盘驱动器来存储无法保存在RAM中的数据。本教程将向您展示如何创建交换文件,该文件应在Ubuntu,CentOS和Debian下运行。本教程不适用于任何自定义ISO,但可以继续学习。

步骤1:确认不存在交换

为了防止在本教程中出现任何问题,您将需要运行以下命令来验证当前交换空间未处于活动状态:

free -m

运行该命令后,您应该看到类似于以下输出的内容:

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

如果您看到的值为 0 在里面 Swap 部分,则可以继续执行第2步。

或者,您可以运行以下命令来查看是否存在配置的交换文件:

swapon -s

如果看不到任何输出 swapon,然后继续执行步骤2。

步骤2:创建交换文件

您将需要选择文件的位置。在本教程中,它将存储在服务器的根目录中。我们将通过运行以下命令来创建一个2GB的交换文件:

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

dd 该命令将产生类似于以下格式的输出:

2048+0 records in
2048+0 records out
2147483648 bytes (2.1 GB) copied, 10.5356 s, 204 MB/s

接下来,通过运行以下命令来验证文件是否位于Vultr VPS的根目录中:

ls / | grep swapfile

继续,如果您看到 swapfile 文件。

步骤3:激活交换文件

交换文件无法自动识别。我们将需要告诉服务器如何格式化文件并启用它,以便可以将其用作有效的交换文件。作为一项安全措施,更新交换文件权限以仅允许root用户使用R / W,不允许其他用户使用。跑:

chmod 600 /swapfile

可以通过运行以下命令来验证权限更改:

ls -lh /swapfile

您将看到文件显示:

-rw------- 1 root root 2.0G Oct  2 18:47 /swapfile

接下来,告诉服务器通过运行以下命令来设置交换文件:

mkswap /swapfile

运行它之后,您将看到以下输出:

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

如果一切都如上所示,那么您现在可以继续进行下一步了。

步骤4:开启交换功能

准备好要用作交换文件之后,您需要通过运行以下命令启用它:

swapon /swapfile

您可以通过运行以下命令来验证交换文件是否处于活动状态 free 再次命令。

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,则您已成功设置交换。

步骤5:在重新启动时启用交换

默认情况下,您的服务器不会自动启用此新的交换文件。要在启动时启用它,您可以更新 /etc/fstab 文件。任何文本编辑器都足够。在这个例子中,我将使用 nano

nano /etc/fstab

在文件末尾添加以下行:

/swapfile   none    swap    sw    0   0

完成编辑文件后,保存并关闭。我们都做完了!

注:本教程在Vultr VPS上测试通过,如需部署请前往Vultr.com