简介: 本文主要为大家讲解如何在 Ubuntu 20.04上添加并激活一个交换空间。
镜像下载、域名解析、时间同步请点击
交换空间是硬盘上的一个空间,当物理 RAM 内存被用尽时,被紧急征用的空间。当一个 Linux 系统 RAM 内存耗尽,不活跃的内存页将会被移动到交换空间。
交换空间可以是一个独立的交换分区,也可以是一个交换文件。例如,当在一个虚拟机上运行一个 Ubuntu 时,没有一个交换分区,并且唯一的选项就是创建一个交换文件。
本文将为大家讲解如何在 Ubuntu 20.04上添加一个交换空间。
一、前提准备
交换分区不应该被当作物理内存的替代品。因为交换分区是硬盘驱动器的一部分,它比物理内存更慢的访问时间。如果你的系统经常内存耗尽,你应该添加更多内存。
通常,交换文件大小依赖于你的系统有多少 RAM 内存:
- 少于2 GB RAM 内存的系统 - 2倍 RAM 内存的大小
- 2 到 8 GB RAM 内存的系统 - 同样 RAM 内存大小
- 大于 8 GB RAM 内存的系统 - 至少 4 GB 交换文件
注意只有 root 或者其他有 sudo 权限的用户能够激活 swap 文件。
二、创建一个交换文件
本例中,我们创建2 GB
交换文件。如果你想添加更多交换文件,将2G
替换成你需要设置的交换空间的大小即可。
完成下面的步骤,在 Ubuntu 20.04 上添加交换空间:
1、首先,创建一个用作交换文件的文件:
如果fallocate
工具在你的系统上不可用,或者提示说:fallocate failed: Operation not supported
,请使用下面的命令去创建交换文件:
2、设置文件权限到600
禁止常规用户读写这个文件:
3、在这个文件上创建一个 Linux 交换区:
输出结果如下:
4、通过运行下面的命令,激活交换区:
想要持久化,请打开/etc/fstab
文件:
并且粘贴下面的行:
5、使用swapon
或者free
命令来验证交换区是否已激活,如下所示:
三、调整 Swappiness 值
Swappiness 是一个 Linux 内核属性,用来定义系统将会有多频繁使用交换分区。它取值范围从 0 到 100。一个较低的取值可以在可能的情况下,尽量避免交换,而一个较高的值会使得内核更频繁地使用交换分区。
在 Ubuntu 上,默认的 Swappiness 取值被设置成 60
。你可以通过输入下面的命令检查当前值:
输出如下:
Swappiness 为 60 适合大部分 Linux 操作系统,对于生产型服务器,你需要将这个值设置成更低。
例如,将 Swappiness 值修改成 10
,运行:
如果想要将这个参数持久化,而且在重启时仍然起作用,请将下面的内容附加到/etc/sysctl.conf
文件:
最理想的 swappiness 取决于你的系统、内存的使用方式。你需要在小区间内调整这个取值来查找一个最适合的值。
四、移除一个交换文件
想要取消激活,并且删除交换文件,步骤如下:
1、取消激活交换空间:
2、从/etc/fstab
文件中移除交换文件条目/swapfile swap swap defaults 0 0
。
3、使用rm
命令删除实际的交换区文件:
五、总结
至此,我们已经向你展示了在你的 Ubuntu 20.04 系统上如何创建一个交换空间,以及如何激活和配置交换空间。