前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何在 CentOS 8 上增加 Swap 空间

如何在 CentOS 8 上增加 Swap 空间

作者头像
雪梦科技
发布2020-05-11 16:50:54
4.9K0
发布2020-05-11 16:50:54
举报
文章被收录于专栏:ITCoderITCoder

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 条目来持久化这些修改。

腾讯云:助力中小微企业上云,满足轻量级Web应用需求,云服务器钜惠 166元/年起
腾讯云:助力中小微企业上云,满足轻量级Web应用需求,云服务器钜惠 166元/年起
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 空间。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019年12月07日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、创建并且激活 Swap 文件
  • 二、调整 Swappiness 值
  • 三、移除一个 Swap 文件
  • 四、总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档