关于Linux交换
Linux RAM由称为页的内存块组成。 要释放RAM的页面,可能会发生“linux swap”,并将一页内存从RAM复制到硬盘上的预配置空间。 Linux交换允许系统利用比最初物理可用的更多的内存。
然而,交换确实有缺点。 因为硬盘的内存比RAM慢得多,虚拟专用服务器的性能可能会大大降低。 此外,如果系统从太多的文件被交换进来,swap thrashing可以开始发生。
尽管交换通常被推荐用于使用传统旋转硬盘驱动器的系统,但是使用SSD交换可能导致硬件随时间的退化问题。 由于这一考虑,我们不建议在DigitalOcean或任何其他使用SSD存储的提供商上启用交换。 这样做会影响您和您的邻居的底层硬件的可靠性。
如果您需要提高服务器的性能,我们建议您升级您的Droplet。 这将导致一般更好的结果,并将降低可能影响您的服务的硬件问题的可能性。
检查交换空间
在继续设置交换文件之前,我们需要通过查看交换使用的摘要来检查是否在VPS上启用了任何交换文件。
sudo swapon -s
空列表将确认您没有启用任何交换文件:
Filename Type Size Used Priority
检查文件系统
之后,我们知道,我们并没有在虚拟服务器上启用了交换文件,我们可以检查我们有多大的空间与服务器上的df
命令。 交换文件将需要256MB,因为我们只使用了大约8%的/ dev / sda,我们可以继续。
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”指定文件的名称。 在这种情况下,名称是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