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

2023-11-11

交换空间是磁盘上的空间,当物理 RAM 内存已满时使用。当 Linux 系统耗尽 RAM 时,非活动页面将从 RAM 移至交换空间。

交换空间可以采用专用交换分区或交换文件的形式。通常,在虚拟机上运行 Ubuntu 时,不存在交换分区,唯一的选择是创建交换文件。

本教程介绍如何在 Ubuntu 20.04 上添加交换文件。

在你开始之前#

交换不应被视为物理内存的替代品。由于交换空间是硬盘驱动器的一部分,因此它的访问时间比物理内存慢。如果您的系统经常出现内存不足的情况,您应该添加更多 RAM。

一般来说,交换文件的大小取决于系统有多少 RAM:

  • 系统具有内存小于 2 GB- RAM 量的 2 倍。
  • 系统具有2 至 8 GB 内存- 与 RAM 大小相同。
  • 系统具有超过 8 GB 内存- 至少 4 GB 交换空间。

仅 root 或具有以下权限的用户须藤权限可以激活交换文件。

创建交换文件#

在此示例中,我们将创建2 GB交换文件。如果您想添加更多交换,请替换2G与您需要的交换空间的大小。

完成以下步骤以在 Ubuntu 20.04 上添加交换空间:

  1. 首先,创建一个将用作交换的文件:

    sudo fallocate -l 2G /swapfile

    If the fallocate您的系统上不存在该实用程序,或者您收到一条错误消息:fallocate failed: Operation not supported,使用以下命令创建交换文件:

    sudo dd if=/dev/zero of=/swapfile bs=1024 count=2097152
  2. 设置文件权限 to 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 file:

    sudo nano /etc/fstab

    并粘贴以下行:

    /etc/fstab
    /swapfile swap swap defaults 0 0
  5. 使用以下任一方法验证交换是否处于活动状态swapon or the 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

调整 Swapiness 值#

Swappiness 是一个 Linux 内核属性,它定义系统使用交换空间的频率。它的值可以在 0 到 100 之间。较低的值将使内核尽可能避免交换,而较高的值将使内核更积极地使用交换空间。

在 Ubuntu 上,默认交换值设置为60。您可以通过键入以下命令来检查当前值:

cat /proc/sys/vm/swappiness
60

而交换值60对于大多数Linux系统来说是可以的,对于生产服务器,您可能需要设置一个较低的值。

例如,将 swappiness 值设置为10, run:

sudo sysctl vm.swappiness=10

要使此参数在重新启动后保持不变,请将以下行附加到/etc/sysctl.conf file:

/etc/sysctl.conf
vm.swappiness=10

最佳交换值取决于您的系统工作负载以及内存的使用方式。您应该小幅调整此参数以找到最佳值。

删除交换文件#

要停用并删除交换文件,请按照下列步骤操作:

  1. 首先,停用交换空间:

    sudo swapoff -v /swapfile
  2. 接下来,删除交换文件条目/swapfile swap swap defaults 0 0来自/etc/fstab file.

  3. 最后,使用以下命令删除实际的交换文件文件rm命令:

    sudo rm /swapfile

结论#

我们向您展示了如何在 Ubuntu 20.04 系统上创建交换文件以及激活和配置交换空间。

如果您遇到问题或有反馈,请在下面发表评论。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Ubuntu 20.04 上添加交换空间 的相关文章

随机推荐

  • 了解互联网协议 (IP)

    数字时代的定义是连通性 从个人消息传递到商业通信再到国际政府关系 几乎所有交互都是通过万维网进行的 互联网协议 IP 是这个庞大网络的核心 可确保通信顺畅可靠 本文旨在阐明我们数字生活的这一基本方面 什么是互联网协议 IP 从最广泛的意义上
  • 如何使用 Rsyslog 和 MySQL 设置 LogAnalyzer

    本文是文章的第二部分使用 MySQL 和 LogAnalyzer 设置 Rsyslog在 CentOS RHEL 系统上 在里面第一部分我们已经将Rsyslog与MySQL数据库服务器集成 所有日志现在都保存在数据库中 下面是我们在第 1
  • 如何在 Ubuntu 22.04 上安装 Linux、Nginx、MySQL 和 PHP(LEMP Stack)

    Linux操作系统是非常流行且广泛使用的服务器操作系统 它为世界上大多数网站提供支持 包括雅虎 谷歌和 Facebook 等一些最著名的网站 逻辑首字母缩略词 LAMP 通常用来指自由和开源软件的混合物 这些软件经常一起使用来创建可以处理动
  • 如何统治科技世界?

    谷歌 Facebook 苹果和微软等科技巨头正在真正统治世界 他们不仅在商业和技术领域做出了贡献 而且还大力投资于社会责任项目 当他们从车库或大学宿舍起步时 是什么让他们成为科技界的巨头 他们的成功有很多因素 但所有这些科技巨头都有一些共同
  • 如何在 Debian 11/10 上安装 Tomcat 10

    Apache Tomcat 是一个开源 Web 服务器 带有用于发布基于 Java 的 Web 应用程序的 Servlet 容器 Tomcat 是由 Apache 软件基金会支持下的开放开发者社区开发和维护的 截至目前 Tomcat 10
  • 掌握 Bash 中的数字比较:综合指南

    Bash 是 Linux 和 Unix 系统中流行的命令行 shell 允许用户通过运行脚本或执行命令来有效地执行各种任务 编写 Bash 脚本的一个关键方面是能够根据变量值或命令输出做出决策 一项常见的决策任务是比较数值 本文提供了掌握
  • 如何并排放置两个 Div 元素

    在 Web 开发中 定位 HTML 元素的方法有无数种 一种常见的布局要求是并排放置两个 div 元素 这种布局在网页设计中经常使用 特别是当需要将内容水平分成不同的部分时 有多种方法可以实现此布局 包括使用 float flexbox 和
  • 如何在 RHEL 和 CentOS Stream 9 上安装 PHP 8.2-7.4

    PHP 是一种流行的脚本语言 用于开发动态 Web 应用程序 它是一种开源编程语言 可以轻松安装在包括 CentOS 9 在内的各种操作系统上 在本文中 我们将引导您完成在 CentOS 9 上安装 PHP 的步骤 在开始之前 请确保您拥有
  • Linux 中使用 GPG 密钥对的文件加密

    GPG 基本文件加密不需要公钥 私钥 但为了使加密文件更安全 您可以使用 RSA DSA 算法 这些算法生成公钥和私钥来加密文件 本文将帮助您在 Linux 中使用 GPG 密钥对完成以下三项文件加密任务 创建密钥对 为同一用户帐户本地加密
  • 了解基本的 Git 工作流程:添加、提交、推送

    在软件开发领域 版本控制至关重要 在各种可用的版本控制系统中 Git 因其稳健性 灵活性和分布式架构而成为行业标准 在本文中 我们将重点介绍基本 Git 工作流程的基本步骤 添加 提交和推送 了解 Git 在深入研究 Git 工作流程的复杂
  • 10 个适合旧电脑的最佳轻量级 Linux 发行版

    随着计算机的老化 其性能不可避免地会下降 操作系统的响应速度也会降低 对于想要继续使用旧硬件但受到可用资源限制的用户来说 这可能会令人沮丧 幸运的是 Linux 提供了各种针对旧计算机进行优化的轻量级发行版 使它们能够更流畅 更高效地运行
  • 如何在 CentOS/RHEL 7 和 Fedora 上安装 Python 3.9

    Python 是一种非常流行 用途广泛且易于学习的编程语言 广泛应用于从 Web 开发和数据分析到人工智能和机器学习的各个行业和应用程序 Python 3 9 是该语言的最新版本之一 提供了改进的性能和许多新功能 在本教程中 我们将指导您完
  • 如何在 Linux 上的 VirtualBox 中从 USB 驱动器启动

    使用 USB 启动物理机要容易得多 但 VirtualBox 不提供直接选择从 USB 启动的方法 因此 如果您有可启动 USB 驱动器 那么本文将帮助您了解如何使用可启动 USB 创建 VirtualBox 虚拟机 对于这个例子 我已经创
  • 如何在 Debian 9 Stretch 上安装 PHP(7.4、7.3 和 5.6)

    PHP 7 4 是可在 Debian 9 Stretch Linux 计算机上安装的最新版本 Ubuntu 用户可以访问我们的教程在 Ubuntu 上安装 PHP 7 本教程适用于 Debian 9 Stretch 用户在其系统上安装 PH
  • 如何在Linux终端上访问远程邮箱

    Linux 系统有大量的图形电子邮件客户端 您可以轻松安装它们以通过 POP IMAP 协议访问远程系统的邮箱 对于没有GUI界面的Linux服务器版本可以使用命令行邮件客户端访问远程邮箱 本教程将帮助您在Linux终端上使用POP IMA
  • Bash – 如何获取未来的日期和时间

    Linuxdate命令显示系统的当前日期和时间 在编写 shell 脚本时 我意识到有时我们需要查找未来的日期 例如 10 天 2 个月或 1 年之后的日期等 date 命令提供了一个选项来显示未来的日期 如所述 d date STRING
  • Magento 2 代码库和数据库备份脚本

    本教程将帮助您使用 shell 脚本自动执行 Magento2 代码库和数据库备份过程 该脚本将按计划的时间间隔执行自动备份 该脚本还能够根据配置删除较旧的备份 设置Magerun2 您需要在系统上下载并配置 Magerun2 脚本 wge
  • 如何使用 Mysqlcheck 检查和修复 MySQL 表

    数据库管理系统是现代软件应用程序无缝运行不可或缺的一部分 MySQL 是世界上使用最广泛的关系数据库管理系统之一 随着数据库的增长和发展 确保其中表的完整性 性能和运行状况至关重要 这就是 Mysqlcheck 发挥作用的地方 1 Mysq
  • 如何在 Ubuntu 20.04 上使用 VSFTPD 设置 FTP 服务器

    本文介绍如何在 Ubuntu 20 04 上安装和配置 FTP 服务器 用于在设备之间共享文件 FTP 文件传输协议 是一种标准网络协议 用于在远程网络之间传输文件 有多种可用于 Linux 的开源 FTP 服务器 最知名和最广泛使用的是P
  • 如何在 Ubuntu 20.04 上添加交换空间

    交换空间是磁盘上的空间 当物理 RAM 内存已满时使用 当 Linux 系统耗尽 RAM 时 非活动页面将从 RAM 移至交换空间 交换空间可以采用专用交换分区或交换文件的形式 通常 在虚拟机上运行 Ubuntu 时 不存在交换分区 唯一的