Status:已弃用
本文介绍不再受支持的 Ubuntu 版本。如果您当前运行的服务器运行 Ubuntu 12.04,我们强烈建议您升级或迁移到受支持的 Ubuntu 版本:
-
升级到Ubuntu 14.04.
- 从 Ubuntu 14.04 升级到 Ubuntu 16.04
- 将服务器数据迁移到支持的版本
Reason:
Ubuntu 12.04 已于 2017 年 4 月 28 日终止生命周期 (EOL)并且不再接收安全补丁或更新。本指南不再维护。
请参阅:
本指南可能仍然可以作为参考,但可能不适用于其他 Ubuntu 版本。如果有的话,我们强烈建议您使用针对您所使用的 Ubuntu 版本编写的指南。您可以使用页面顶部的搜索功能来查找更新的版本。
关于 Linux 交换
Linux RAM 由称为页的内存块组成。为了释放 RAM 页面,可以进行“linux 交换”,并将内存页面从 RAM 复制到硬盘上预先配置的空间。 Linux 交换允许系统利用比最初物理可用的内存更多的内存。
然而,交换也有缺点。由于硬盘的内存比 RAM 慢得多,因此虚拟专用服务器的性能可能会大大降低。此外,如果系统因换入和换出太多文件而陷入困境,则可能会开始发生交换抖动。
Note
尽管通常建议使用传统旋转硬盘驱动器的系统使用交换,但使用 SSD 交换可能会导致硬件随着时间的推移而退化的问题。出于此考虑,我们不建议在 DigitalOcean 或任何其他使用 SSD 存储的提供商上启用交换。这样做可能会影响您和您邻居的底层硬件的可靠性。
如果您需要提高服务器的性能,我们建议升级您的 Droplet。一般来说,这将带来更好的结果,并降低导致影响服务的硬件问题的可能性。
检查交换空间
在继续设置交换文件之前,我们需要通过查看交换使用情况摘要来检查 VPS 上是否启用了任何交换文件。
sudo swapon -s
空列表将确认您没有启用交换文件:
Filename Type Size Used Priority
检查文件系统
当我们知道虚拟服务器上没有启用交换文件后,我们可以使用以下命令检查服务器上有多少空间:df
命令。交换文件将占用 256MB — 因为我们只使用了 /dev/sda 的大约 8%,所以我们可以继续。
df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda 20907056 1437188 18421292 8% /
udev 121588 4 121584 1% /dev
tmpfs 49752 208 49544 1% /run
none 5120 0 5120 0% /run/lock
none 124372 0 124372 0% /run/shm
创建并启用交换文件
现在是时候使用 dd 命令创建交换文件本身了:
sudo dd if=/dev/zero of=/swapfile bs=1024 count=256k
“of=/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
埃特尔·斯维尔德洛夫