如何在Ubuntu 16.04上添加或调整swap分区

介绍

警告:在执行本教程之前,请务必进行备份。 你可能会被删除所有信息!

RAM比硬盘驱动器快了几个数量级,甚至是一个ssd硬盘。 然而,RAM的容量也比硬盘容量小。 当使用所有RAM容量时,操作系统需要释放一些RAM,并且需要一个位置来将被选择的被释放的信息保留在RAM中,这就是所谓的交换空间。 交换空间通常是硬盘中的特殊分区,与计算机的RAM容量成正比。

在一些vps中,你没有任何交换分区,因为它们使用SSD,所以建议不要添加交换分区。 如果您拥有使用SSD硬盘驱动器的计算机,则需要知道可能会导致硬件降级,以在此类磁盘上添加交换分区。

检查您当前的交换分区swap

sudo swapon -s

这将返回您的交换分区swap的简要摘要,如果您没有交换分区,则不会返回

设置交换分区swap

分区的大小取决于计算机的使用情况。 如果你的计算机内存工作负载很高,你需要有一个大的交换空间。 对于一般情况,我们建议您使用以下设置:

  • 对于少于8GB的RAM:使用2或3倍的RAM量
  • 对于超过8gb且小于64gb:使用1到1.5倍的RAM量
  • 超过64gb:4gb的互换或完全没有交换。

在个人桌面计算机或HomeLab网络设备上,我喜欢将交换分区添加到与安装操作系统磁盘不同的磁盘上,以提高性能。

添加交换空间

检查您的硬盘驱动器是否有可用空间来添加新的分区,如果在您的情况下,您没有任何自由空间添加新的分区,您可以使用特殊文件添加交换空间。

使用cfdisk,您可以检查设备上剩余多少可用空间来创建分区:

cfdisk /dev/sdX

在我的情况下,我的测试vm没有新的分区的可用空间。 所以替代方法是使用交换文件。 如果要创建分区,请跳过下一部分,然后转到添加交换分区。

添加交换文件

使用df命令检查你是否有足够的可用空间。

df -h

Now create an empty fiel with zeros: Replace X with the desired swap space

现在创建:将X替换为所需的交换空间

sudo dd if=/dev/zero of=/swapfile bs=XG count=4

现在我们准备文件

sudo chmod 600 /swapfile
sudo mkswap /swapfile

最后我们使用swapon命令启用:

sudo swapon /swapfile

 要在下次启动时将交换文件添加到 /etc/fstab

/swapfile   none    swap    sw    0   0

添加交换分区

如果创建交换文件,请跳过此步骤。

但是如果你有空间使用fdisk来添加新的交换空间。

fdisk /dev/sda

现在按下n,按下回车键,如果第一个扇区没问题(通常都可以)。

使用以下格式设置新分区:X是驱动器的字母,Y是分区的编号。

mkswap /dev/sdXY

警告:以下步骤可能会破坏您的设置!

将分区添加到 /etc/fstab。 用vim或nano打开它,并添加:

/dev/sdXY       swap        swap        defaults    0 0

df -h检查哪个硬盘驱动器有空间来添加交换分区。

全面检查

现在重新执行swapon以验证交换是否已创建。

sudo swapon -s

swap高级设置

cat /proc/sys/vm/swappiness

您可以使用sudo sysctl vm.swappiness = 10更改它,或者使其永久性更改/etc/sysctl.conf并添加vm.swappiness = 10。

猜你喜欢

转载自www.linuxidc.com/Linux/2017-07/145673.htm