如何在 Ubuntu 12.04 上添加交换空间

本文涵盖的 Ubuntu 版本已不再受支持。如果您目前正在运行 Ubuntu 12.04 服务器,我们强烈建议升级或迁移到受支持的 Ubuntu 版本:

原因:
Ubuntu 12.04 已于 2017 年 4 月 28 日到达生命周期终点(EOL),不再接收安全补丁或更新。本指南不再维护。

请参阅:
本指南可能仍然作为参考有用,但可能不适用于其他 Ubuntu 版本。如果有的话,我们强烈建议使用针对您正在使用的 Ubuntu 版本编写的指南。您可以使用页面顶部的搜索功能查找更新版本。

关于 Linux 交换

Linux RAM 由称为页面的内存块组成。为了释放 RAM 页面,可能会发生“Linux 交换”,即将内存页面从 RAM 复制到预先配置的硬盘空间。Linux 交换允许系统利用比原本物理可用的内存更多的内存。

然而,交换也有缺点。由于硬盘比 RAM 的速度慢得多,虚拟专用服务器的性能可能会显著下降。此外,如果系统因交换太多文件而被淹没,交换抖动可能会开始发生。

注意:
尽管通常建议对使用传统旋转硬盘的系统启用交换,但在 SSD 上使用交换可能会导致随着时间的推移硬件退化的问题。因此,我们不建议在 DigitalOcean 或任何其他使用 SSD 存储的提供商上启用交换。这样做可能会影响您和您的邻居的基础硬件的可靠性。

如果您需要提高服务器性能,我们建议升级您的 Droplet。这将在一般情况下带来更好的结果,并减少对可能影响您的服务的硬件问题的贡献的可能性。

检查交换空间

在继续设置交换文件之前,我们需要通过查看交换使用情况摘要来检查 VPS 上是否已启用任何交换文件。

sudo swapon -s

空列表将确认您未启用任何交换文件:

Filename				Type		Size	Used	Priority

检查文件系统

在确认虚拟服务器上未启用交换文件后,我们可以使用 df 命令检查服务器上有多少空间。交换文件将占用 256MB,因为我们只使用了大约 8% 的 /dev/sda,所以我们可以继续。

df

文件系统 1K-blocks Used Available Use% Mounted on
/dev/sda 20907056 1437188 18421292 8% /

创建并启用交换文件

现在是时候使用 dd 命令创建交换文件本身了:

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

“of=/swapfile” 指定了文件的名称。在本例中,名称为 swapfile。

接下来,我们将通过创建 Linux 交换区域来准备交换文件:

sudo mkswap /swapfile

结果显示:

Setting up swapspace version 1, size = 262140 KiB
no label, UUID=103c4545-5fc5-47f3-a8b3-dfbdb64fd7eb

最后,通过激活交换文件完成操作:

sudo swapon /swapfile

然后,您将能够在查看交换摘要时看到新的交换文件。

swapon -s
Filename				Type		Size	Used	Priority
/swapfile                               file		262140	0	-1

此文件将在虚拟专用服务器上持续存在,直到机器重新启动。您可以通过将其添加到 fstab 文件来确保交换是永久的。

打开文件:

sudo nano /etc/fstab

粘贴以下行:

 /swapfile       none    swap    sw      0       0 

文件中的 Swappiness 应设置为 10。跳过此步骤可能导致性能不佳,而将其设置为 10 将使交换充当紧急缓冲区,防止内存不足崩溃。

您可以使用以下命令执行此操作:

echo 10 | sudo tee /proc/sys/vm/swappiness
echo vm.swappiness = 10 | sudo tee -a /etc/sysctl.conf

为了防止文件被全球可读,您应该在交换文件上设置正确的权限:

sudo chown root:root /swapfile 
sudo chmod 0600 /swapfile

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>