Swap交换空间是物理RAM内存已满时使用的磁盘空间。当Linux系统用完RAM时,非活动页面将从RAM移动到交换空间。
Swap交换空间可以采用专用交换分区或交换文件的形式。通常,在虚拟机上运行CentOS时,不存在交换分区,因此唯一的选择是创建交换文件。
本文介绍了在CentOS 8系统上添加交换文件的步骤。
创建和激活交换文件
以root用户或具有 sudo特权的用户身份执行以下步骤,以在CentOS 8系统上添加Swap交换空间。
首先创建一个将用作交换空间的文件:
sudo fallocate -l 1G /swapfile
在此示例中,我们将创建大小为的交换文件。 1G。如果需要更多交换,请用所需的大小替换1G
。
如果系统上没有fallocate
实用程序,或者出现错误消息fallocate failed: Operation not supported
,请使用dd
命令创建交换文件:
sudo dd if=/dev/zero of=/swapfile bs=1024 count=1048576
设置文件权限,以便只有root用户才能读写Swap交换文件:
sudo chmod 600 /swapfile
接下来,在文件上设置Linux交换区:
sudo mkswap /swapfile
Setting up swapspace version 1, size = 1024 MiB (1073737728 bytes)
no label, UUID=0abdb8ba-57d6-4435-8fd8-5db9fc705045
通过执行以下命令来激活交换:
sudo swapon /swapfile
验证交换是否处于活动状态通过使用swapon
或 free
命令,如下所示:
sudo swapon --show
NAME TYPE SIZE USED PRIO
/swapfile file 1024M 507.4M -1
sudo free -h
total used free shared buff/cache available
Mem: 488M 158M 83M 2.3M 246M 217M
Swap: 1.0G 506M 517M
通过在/etc/fstab
文件中添加交换条目来使更改永久生效:
sudo nano /etc/fstab
粘贴以下行: /etc/fstab
/swapfile swap swap defaults 0 0
调整Swappiness度值
Swappiness是Linux内核属性,它定义系统多久使用交换空间一次。 Swappiness的值可以在0到100之间。较低的值将使内核尽可能避免交换,而较高的值将使内核更积极地使用交换空间。
CentOS 8上的默认swappiness值为30。您可以通过键入以下命令来检查当前的swappiness值:
cat /proc/sys/vm/swappiness
30
虽然对于台式机和开发机,可交换性值为30可以,但对于生产服务器,则可能需要设置较低的值。
例如,要将交换性值设置为10,请键入:
sudo sysctl vm.swappiness=10
要使此参数在重新引导期间保持不变,请将以下行添加到/etc/sysctl.conf
文件中:
/etc/sysctl.conf
vm.swappiness=10
最佳交换值取决于您的系统工作负载以及内存的使用方式。您应该以较小的增量调整此参数以找到最佳值。
删除交换文件
要停用并删除交换文件,请按照以下步骤操作:
通过键入以下内容来停用交换空间:
sudo swapoff -v /swapfile
从/etc/fstab
文件中删除交换条目/swapfile swap swap defaults 0 0
。
使用 rm
删除Swap交换文件
sudo rm /swapfile
结论
我们向您展示了如何在CentOS 8系统上创建交换文件以及激活和配置交换空间。
如果您遇到问题或有反馈,请在下面发表评论。