介绍
警告:在执行本教程之前,请务必进行备份。 你可能会被删除所有信息!
RAM比硬盘驱动器快了几个数量级,甚至是一个ssd硬盘。 然而,RAM的容量也比硬盘容量小。 当使用所有RAM容量时,操作系统需要释放一些RAM,并且需要一个位置来将被选择的被释放的信息保留在RAM中,这就是所谓的交换空间。 交换空间通常是硬盘中的特殊分区,与计算机的RAM容量成正比。
在一些vps中,你没有任何交换分区,因为它们使用SSD,所以建议不要添加交换分区。 如果您拥有使用SSD硬盘驱动器的计算机,则需要知道可能会导致硬件降级,以在此类磁盘上添加交换分区。
检查您当前的交换分区swap
sudo swapon -s
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
cat /proc/sys/vm/swappiness
您可以使用sudo sysctl vm.swappiness = 10更改它,或者使其永久性更改/etc/sysctl.conf并添加vm.swappiness = 10。
CentOS Linux安装后添加SWAP分区 http://www.linuxidc.com/Linux/2016-10/136520.htm
Linux学习笔记:swap分区 http://www.linuxidc.com/Linux/2015-11/125395.htm
本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-07/145673.htm