如何在 Ubuntu 20.04 上添加交换空间

简介: 本文主要为大家讲解如何在 Ubuntu 20.04上添加并激活一个交换空间。

1.png
镜像下载、域名解析、时间同步请点击 阿里巴巴开源镜像站

交换空间是硬盘上的一个空间,当物理 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、首先,创建一个用作交换文件的文件:

sudo fallocate -l 2G /swapfile

如果fallocate工具在你的系统上不可用,或者提示说:fallocate failed: Operation not supported,请使用下面的命令去创建交换文件:

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

2、设置文件权限到600禁止常规用户读写这个文件:

sudo chmod 600 /swapfile

3、在这个文件上创建一个 Linux 交换区:

sudo mkswap /swapfile

输出结果如下:

Setting up swapspace version 1, size = 2 GiB (2147479552 bytes)
no label, UUID=fde7d2c8-06ea-400a-9027-fd731d8ab4c8

4、通过运行下面的命令,激活交换区:

sudo swapon /swapfile

想要持久化,请打开/etc/fstab文件:

sudo nano /etc/fstab

并且粘贴下面的行:

/swapfile swap swap defaults 0 0

5、使用swapon或者free命令来验证交换区是否已激活,如下所示:

sudo swapon --show
NAME      TYPE      SIZE  USED PRIO
/swapfile file        2G    0B   -1
sudo free -h
total        used        free      shared  buff/cache   available
Mem:          981Mi        97Mi        68Mi       0.0Ki       814Mi       735Mi
Swap:         2.0Gi        10Mi       1.9Gi

三、调整 Swappiness 值

Swappiness 是一个 Linux 内核属性,用来定义系统将会有多频繁使用交换分区。它取值范围从 0 到 100。一个较低的取值可以在可能的情况下,尽量避免交换,而一个较高的值会使得内核更频繁地使用交换分区。
在 Ubuntu 上,默认的 Swappiness 取值被设置成 60。你可以通过输入下面的命令检查当前值:

cat /proc/sys/vm/swappiness

输出如下:

60

Swappiness 为 60 适合大部分 Linux 操作系统,对于生产型服务器,你需要将这个值设置成更低。
例如,将 Swappiness 值修改成 10,运行:

sudo sysctl vm.swappiness=10

如果想要将这个参数持久化,而且在重启时仍然起作用,请将下面的内容附加到/etc/sysctl.conf文件:

vm.swappiness=10

最理想的 swappiness 取决于你的系统、内存的使用方式。你需要在小区间内调整这个取值来查找一个最适合的值。

四、移除一个交换文件

想要取消激活,并且删除交换文件,步骤如下:
1、取消激活交换空间:

sudo swapoff -v /swapfile

2、从/etc/fstab文件中移除交换文件条目/swapfile swap swap defaults 0 0
3、使用rm命令删除实际的交换区文件:

sudo rm /swapfile

五、总结

至此,我们已经向你展示了在你的 Ubuntu 20.04 系统上如何创建一个交换空间,以及如何激活和配置交换空间。

阿里巴巴开源镜像站 提供全面,高效和稳定的镜像下载服务。钉钉搜索 ' 21746399 ‘ 加入镜像站官方用户交流群。”

相关文章
|
6月前
|
缓存 Ubuntu
Debian/Ubuntu清理硬盘空间
请注意,在执行清理操作时,务必小心核实要删除的文件,以免意外删除重要数据。 买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云
378 4
|
11月前
|
Ubuntu
ubuntu系统调整根目录空间
ubuntu系统调整根目录空间
197 0
|
Ubuntu 固态存储
如何在 Ubuntu 20.04 上添加交换空间?
如何在 Ubuntu 20.04 上添加交换空间?
154 0
如何在 Ubuntu 20.04 上添加交换空间?
|
存储 缓存 Ubuntu
如何在Ubuntu 18.04上添加交换空间(一)
防范应用程序内存不足错误的最简单方法之一是为服务器添加一些交换空间。在本指南中,我们将介绍如何将交换文件添加到 Ubuntu 18.04服务器。
463 0
|
Ubuntu Linux 数据库
[Linux日记]解决Ubuntu升级出现/boot空间不足问题
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/SunnyYoona/article/details/51312147 经常升级Linux内核,导致更新时警告/boot分区空间不足。
1521 0
|
1月前
|
并行计算 Ubuntu Linux
Ubuntu学习笔记(五):18.04安装多版本CUDA
这篇博客文章介绍了在Ubuntu 18.04系统上如何安装和切换不同版本的CUDA,以及如何安装不同版本的cuDNN。
201 2
|
1月前
|
并行计算 PyTorch TensorFlow
Ubuntu安装笔记(一):安装显卡驱动、cuda/cudnn、Anaconda、Pytorch、Tensorflow、Opencv、Visdom、FFMPEG、卸载一些不必要的预装软件
这篇文章是关于如何在Ubuntu操作系统上安装显卡驱动、CUDA、CUDNN、Anaconda、PyTorch、TensorFlow、OpenCV、FFMPEG以及卸载不必要的预装软件的详细指南。
3471 3
|
10天前
|
Ubuntu 开发工具 git
Ubuntu安装homebrew的完整教程
本文介绍了如何在没有公网的情况下安装 Homebrew。首先访问 Homebrew 官网,然后通过阿里云的镜像克隆安装脚本,并创建普通用户进行安装。接着修改 `install.sh` 文件指向国内镜像,执行安装命令。最后配置环境变量并更换 Homebrew 源为国内镜像,确保安装顺利。
109 50