文章目录
{ .ImgAlt }}

Swap(交换内存)是硬盘上的一个空间,当物理内存耗尽,交换内存就会被使用。当一个 Linux 系统内存不足时,不活跃的内存页,将会被从 RAM 空间 移动到 Swap 内存交换空间。

Swap 空间可能以独立的内存交换分区或者一个 swap 文件形式存在。通常,在虚拟机上运行 CentOS,没有现成的内存交换分区,因此唯一的选择就是创建一个 swap 文件。

本文将会讲述给 CentOS 8 系统增加一个 swap 文件的几个步骤。

一、创建并且激活 Swap 文件

以 root 或者其他有 sudo 权限的用户身份执行下面的步骤,在 CentOS 8 系统上新增 swap 空间。

01.开始创建用于内存交换空间的文件:

sudo fallocate -l 1G /swapfile

在这个例子中,我们创建了一个 1G 大小的 swap 文件。如果你需要更多的内存交换空间,将1G换成你想要的大小。

如果你的系统上fallocate不可用,或者你得到错误提示:fallocate failed: Operation not supported,使用dd命令来创建 swap 文件。

sudo dd if=/dev/zero of=/swapfile bs=1024 count=1048576

02.设置文件权限以便只有 root 用户可以读写 swap 文件:

sudo chmod 600 /swapfile

03.下一步,在这个文件上设置 Linux swap:

sudo mkswap /swapfile
Setting up swapspace version 1, size = 1024 MiB (1073737728 bytes)
no label, UUID=0abdb8ba-57d6-4435-8fd8-5db9fc705045

04.执行下面的命令激活 swap 空间:

sudo swapon /swapfile

05.通过使用swapon或者free命令来验证 swap 空间是否已经激活,像下面这样:

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

06.通过在/etc/fstab文件中添加一条 swap 条目来持久化这些修改。

腾讯云学生服务器_学生机_云服务器优惠套餐-云+校园 - 腾讯云
sudo nano /etc/fstab

将下面的内容粘贴进文件后面:

/swapfile swap swap defaults 0 0

二、调整 Swappiness 值

Swappiness 是一个 Linux Kernel 属性值,它定义了系统使用 swap 空间的频率。Swappiness 取值范围从 0 到 100。一个较低的值使得 kernel 尽可能避免使用交换内存,而较高的值将使得 kernel 尽可能的使用交换内存空间。

在 CentOS 8 上 swappiness 默认值是 30。你可以通过输入下面的命令检测当前的 swappiness 值:

cat /proc/sys/vm/swappiness
30

当 swappiness 值为 30 的时候,它是适合桌面版本和开发版本的机器的,而对于生产服务器,你可能需要调低这个值。 例如,将 swappiness 值调低为 10,输入:

sudo sysctl vm.swappiness=10

想要持久化这个参数,应该将下面的内容粘贴到/etc/sysctl.conf文件,并且重新启动:

vm.swappiness=10

最优的 swappiness 值依赖于你的系统工作量和你的内存是如何被使用的。你应该一点一点增加这个参数值,来寻找最优值。

三、移除一个 Swap 文件

想要取消激活并且移除 swap 文件,参考这些步骤:

01.通过输入下面命令,取消激活 swap 空间:

sudo swapoff -v /swapfile

02.从/etc/fstab文件中移除 swap 条目/swapfile swap swap defaults 0 0

03.使用rm删除实际的 swap 文件:

sudo rm /swapfile

四、总结

我们已经给你演示了在 CentOS 8 上如何创建一个 swap 文件,并且激活和配置 swap 空间。




如果你有任何疑问,请通过以下方式联系我们:

微信:

微信群: 加上面的微信,备注微信群

QQ: 3217680847

QQ 群: 82695646 雪梦科技交流群

原文 :https://linuxize.com/post/how-to-add-swap-space-on-centos-8

    版权声明:本作品采用知识共享署名-相同方式共享 4.0 国际许可协议进行许可。知识共享许可协议
腾讯云学生服务器_学生机_云服务器优惠套餐-云+校园 - 腾讯云

相关推荐