如何在 Debian 10 Linux 上添加交换空间

2023-10-21

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

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

本教程将指导您完成在 Debian 10 Buster 上添加交换文件的步骤。

在你开始之前#

虽然可能,但在一台计算机上拥有多个交换空间并不常见。要检查您的 Debian 安装是否已启用交换,请运行以下命令:

sudo swapon --show

如果输出为空,则意味着系统没有交换空间。

否则,如果您看到类似下面的内容,则说明您已经在 Debian 系统上启用了交换。

NAME      TYPE      SIZE USED PRIO
/dev/sda2 partition   4G   0B   -1

要激活交换,运行命令的用户必须具有须藤权限 .

创建交换文件#

在此示例中,我们将创建并激活1G的交换。要创建更大的交换,请替换1G与所需交换空间的大小。

以下步骤展示了如何在 Debian 10 上添加交换空间。

  1. 首先创建一个用于交换的文件:

    sudo fallocate -l 1G /swapfile

    If fallocate未安装或者您收到一条错误消息:fallocate failed: Operation not supported您可以使用以下命令来创建交换文件:

    sudo dd if=/dev/zero of=/swapfile bs=1024 count=1048576
  2. 只有 root 用户应该能够读取和写入交换文件。发出以下命令以设置正确的权限 :

    sudo chmod 600 /swapfile
  3. Use the mkswap在文件上设置 Linux 交换区域的工具:

    sudo mkswap /swapfile
  4. 激活交换文件:

    sudo swapon /swapfile

    要使更改永久打开/etc/fstab file:

    sudo nano /etc/fstab

    并粘贴以下行:

    /etc/fstab
    /swapfile swap swap defaults 0 0
  5. 使用以下任一方法验证交换是否处于活动状态swapon or free命令如下图:

    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

调整 Swapiness 值#

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

默认的 swappiness 值为 60。您可以使用以下命令检查当前的 swappiness 值cat命令:

cat /proc/sys/vm/swappiness
60

虽然 swappiness 值 60 对于大多数 Linux 系统来说都可以,但对于生产服务器,您应该设置一个较低的值。

例如,要将 swappiness 值设置为 10,请键入:

sudo sysctl vm.swappiness=10

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

/etc/sysctl.conf
vm.swappiness=10

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

删除交换文件#

要停用并删除交换文件,请执行以下步骤:

  1. 通过运行以下命令停用交换空间:

    sudo swapoff -v /swapfile
  2. 打开/etc/fstab使用文本编辑器创建文件并删除交换文件条目/swapfile swap swap defaults 0 0.

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

    sudo rm /swapfile

结论#

您已经学习了如何在 Debian 10 计算机上创建交换文件以及激活和配置交换空间。

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

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

如何在 Debian 10 Linux 上添加交换空间 的相关文章

  • 交换字符串中的字符

    我是 python 新手 我想知道如何交换字符串中的两个字符 我知道字符串是不可变的 所以我需要找到一种方法来创建一个交换字符的新字符串 具体来说 一般方法采用字符串和两个索引 i j 并将 i 上的字符与 j 交换 正如您正确指出的那样
  • 如何获取 Java7 应用程序的 CPU、RAM 和网络使用情况

    我找到了这篇旧文章如何在 Java 中监控计算机的 cpu 内存和磁盘使用情况 https stackoverflow com questions 47177 how to monitor the computers cpu memory
  • Debian 7、fstab、mount.cifs 参数无效

    我尝试挂载 cifs 但出现以下错误 但没有找到该错误 mount a mount error 22 Invalid argument 我尝试在我的 etc fstab 中 192 168 0 1 ShareRep home user sh
  • 如何在 Debian 上升级 glibc?

    我听说我可以使用apt get install libc6 但我需要向 etc apt sources list 添加一些内容才能接收最新的 glibc 版本 我应该怎么办 我能够安装libc6 2 17 in Debian Wheezy通
  • PHP服务器统计脚本? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我不太确定把这个问题放在哪里 它不是真正的网络应用程序或超级用户 但我确信类似的东西已经存在 我正在寻
  • 如何更改 Linux 内核交换守护进程 (kswapd) 超时?

    我想通过使用闪存 SSD 等快速设备作为交换设备来减少 kswapd 超时以提高性能 您可以更改以下行为kswapd通过2种方式 通过Proc文件系统 From IBM 开发者工作坊 http www ibm com developerwo
  • 配置错误:无法链接到 boost_system

    我正在尝试在 Debian 上安装一个软件包 足球模拟器 2d 当我进入目录并运行时 configure 我得到以下信息 reza debian soccer rcssserver 15 0 1 configure checking for
  • 如何在 Debian 上编译 DOS 程序?

    在我的汇编语言课程中 我们使用 DPMI 编写 DOS 程序 不幸的是 我无法一直使用 32 位 Windows 机器 我在我使用的几乎每台计算机上都安装了 Debian 虚拟机 我已经安装了 DOSBox 和 DOSEMU 有什么办法可以
  • 为 Qt 应用程序创建 Linux 安装

    我刚刚用 Qt Creator 制作了一个很棒的程序 我对自己很满意 如何将其从台式机移至笔记本电脑 那么 最好的方法是安装程序 对吗 对于 Ubuntu 这是一个 Debian 软件包 对吗 我怎么做 有人这样做过吗 他们可以分享 QT
  • 在哪里可以找到并安装 pygame 的依赖项?

    我对 Linux 比较陌生 正在尝试安装 python 的 pygame 开发环境 当我运行 setup py 时 它说我需要安装以下依赖项 我找到并安装了其中之一 SDL 然而 其他人则更加难以捉摸 Hunting dependencie
  • arm64和armhf有什么区别?

    Raspberry Pi Type 3 具有 64 位 CPU 但其架构不是arm64 but armhf 有什么区别arm64 and armhf armhf代表 arm hard float 是给定的名称Debian 端口 https
  • PHP-MySQLi 连接随机失败并显示“无法分配请求的地址”

    大约两周以来 我一直在处理 LAMP 堆栈中最奇怪的问题之一 长话短说 与 MySQL 服务器的随机连接失败并显示错误消息 Warning mysqli real connect HY000 2002 Cannot assign reque
  • 仅使用两个变量交换两个数字

    它如何执行交换 a a b b a b a b a 我不同意把它换成书 书中的选项包括 a和b的值的补集 否定和b 希望这些选项也不能满足它 正确的算法应该是 a a b b a b a a b
  • 如何在不使用库函数的情况下在C中将大端转换为小端?

    我需要编写一个函数将大端整数转换为 C 中的小端整数 我无法使用任何库函数 我该怎么做 假设您需要的是一个简单的字节交换 请尝试类似的操作 无符号 16 位转换 swapped num gt gt 8 num lt lt 8 无符号 32
  • 我可以告诉 Linux 不要交换特定进程的内存吗?

    有没有办法告诉 Linux 它不应该将特定进程的内存交换到磁盘 它是一个 Java 应用程序 所以理想情况下我希望有一种方法可以从命令行执行此操作 我知道您可以将全局交换性设置为 0 但这明智吗 您可以通过以下方式执行此操作姆洛克尔 2 h
  • 使用 std::mutex 实现类的交换

    假设我们有一个class with a std mutex class Foo std mutex mutex std string str other members etc public friend void swap Foo lhs
  • Java 内存错误:无法创建新的本机线程

    运行 java 服务器时 我在 UNIX 服务器上收到此错误 Exception in thread Thread 0 java lang OutOfMemoryError unable to create new native threa
  • 我在树莓派上运行 debian wheezy 的 Java 蓝牙服务器需要 bluecove 本机库 - 在哪里可以找到它?

    我有一个在 Windows 机器上运行的 Java 蓝牙服务器 我想将其移植到 Raspberry pi 我在 Java 方面有很多经验 但在蓝牙或 Linux 方面却很少 pi 目前有 Debian Wheezy 操作系统 我已经安装了蓝
  • 找不到“initializer_list”文件

    Context you laptop clang version Debian clang version 3 5 0 10 tags RELEASE 350 final based on LLVM 3 5 0 每当我尝试make一个需要的
  • 使用 OpenSSL 1.1 的 SHA256 HMAC 未编译

    下面的代码使用 HMAC SHA256 生成签名哈希 此代码在 Debian Jessie 和 Ubuntu 16 04 OpenSSL 1 0 2g 2016 年 3 月 1 日 上编译并运行良好 include

随机推荐

  • 使用 sed 进行文本替换:替换命令指南

    文本替换是其最常用的功能之一sed命令 当您需要替换大型文件或输入流中的文本模式实例而无需手动编辑每个实例时 此功能非常有用 文本替换的基本语法sed is sed s search pattern replacement text g f
  • Python 标准差教程

    标准差是一种量化数据集中多样性或分散程度的指标 标准差小意味着数据点倾向于接近平均值 而标准差大则表明数据点广泛分散 在本教程的以下部分中 我们将深入探讨如何使用 Python 计算和理解标准差的更多细节 目录 hide 1 标准差的类型
  • Python Deque 详解:高效的堆栈和队列操作

    Python 中的 Deque 也称为双端队列 是一种数据结构 允许您从任一端添加和删除元素 蟒蛇的collections模块为我们提供了deque类来创建双端队列 它们与队列和堆栈不同 因为它们支持更灵活 内存效率更高 并且在某些情况下支
  • 如何限制 Apache 中的带宽

    Apache 是世界上使用最广泛的 Web 服务器之一 以其灵活性和稳健性而闻名 有时 系统管理员可能会发现自己需要限制 Apache 使用的带宽 以防止某个网站或服务使用所有可用资源 本文将逐步详细介绍如何在 Apache 中限制带宽 先
  • Linux下如何修改文件夹及子文件夹的权限

    为任何 Web 应用程序设置正确的文件权限是 Web 托管的重要组成部分 在本教程中 您将学习如何在单个命令中递归地更改文件夹和子文件夹的文件权限 如您所知 在 Linux 中 一切都被视为文件 文件夹也称为目录文件 用 表示 d 在权限部
  • 如何在 CentOS 和 Fedora 中安装或更新 OpenSSH

    OpenSSH是一款广泛用于远程登录或远程文件传输的免费工具 它使用SSH SecSH协议套件为网络服务提供加密 其源代码可供所有人免费使用 本文将帮助您在 CentOS RHEL 和 Fedora 系统中安装或更新 OpenSSH 服务器
  • 如何在 Debian 8 上安装 Nginx (Jessie)

    Nginx 是 Apache HTTP Server 之外的另一个最受欢迎的 Web 服务器 全球范围内大量流行网站都在使用它 该网络服务器对于大流量网站非常有用 本教程将帮助您使用 apt get 在 Debian 8 Jessie 上安
  • 如何在 CentOS/RHEL 和 Fedora 上设置 AWStats(Apache 日志分析器)

    AWStats 是一款免费的开源日志分析器 可提供有关 Apache Web 服务器流量的详细见解 借助 AWStats 您可以跟踪网站访问 引用网站 搜索引擎 操作系统 浏览器等等 它是网站所有者 系统管理员和开发人员监控网站性能并做出明
  • 在基于 RHEL 的系统上配置 EPEL 存储库

    Extra Packages for Enterprise Linux EPEL 是一个在线存储库 为企业 Linux 系统提供高质量的常用软件包 这些软件包是在 Fedora 上开发和测试的 Fedora 可用于 RHEL EPEL 存储
  • 如何通过 PPA 在 Ubuntu 18.04 和 16.04 上安装 MongoDB 4.4

    MongoDB 是一个完全灵活的索引支持和丰富的查询数据库 Mongodb 是一个 NoSQL 数据库 MongoDB 通过 GridFS 提供大型媒体存储 点击here有关此版本 MongoDB 的更多详细信息 本教程将帮助您在 Ubun
  • 如何在 Ubuntu 18.04 和 16.04 LTS 上安装 Webmin

    Webmin是一个类似于 CPanel 的网络托管控制面板 它提供了易于使用的界面来管理类 Unix 系统 Webmin 非常易于使用 轻量级应用程序可以在一分钟内轻松安装到系统上 Webmin 删除了所有通过命令行完成的手动任务 本文将帮
  • 如何检查 OpenSSH 版本

    OpenSSH是一个安全的网络实用程序 用于使用 SSH 协议进行远程登录 这是大多数基于 Linux 的系统用于远程 SSH 登录的主要工具 OpenSSH 为您提供通过 SSH 协议连接远程系统的选项 它提供了两个系统之间通信的端到端加
  • 如何在 CentOS/RHEL 9/8/7 上安装 NRPE

    NRPE Nagios Remote Plugin Executor 是一个 Nagios 插件 用于在远程主机上远程执行插件和脚本 这允许您监视远程主机上的资源 例如磁盘使用情况 CPU 负载和网络活动 在本文中 我们将向您展示如何在 C
  • 如何在 Ubuntu 20.04 中安装 PostgreSQL 和 pgAdmin4

    PostgreSQL是一个强大 可靠 健壮且开源的对象关系数据库系统 该数据库系统的最新版本是 PostgreSQL 13 2 而版本 12 6 11 11 10 16 9 6 21 和 9 5 25 仍在定期更新 本教程介绍如何在 Ubu
  • 如何在 Ubuntu 和 Debian 中切换 Python 版本

    Python 是一种高级编程语言 广泛用于系统编程 它适用于所有流行的操作系统 您可以在单个系统上安装多个 Python 版本 安装多个 Python 版本后 您可以使用 update alternatives 工具切换默认 Python
  • 如何在 CentOS 7 上安装和使用 Docker

    Docker 是一种容器化技术 可让您快速构建 测试和部署应用程序 作为可移植 自给自足的容器 几乎可以在任何地方运行 在本教程中 我们将介绍如何在 CentOS 7 上安装 Docker CE 并探索基本的 Docker 概念和命令 先决
  • 如何在 CentOS 8 上安装 CouchDB

    Apache CouchDB 是由 Apache 软件基金会开发的免费开源 NoSQL 数据库 它可以用作单节点或集群数据库 CouchDB 服务器将其数据存储在命名数据库中 其中包含具有以下内容的文档JSON结构 每个文档由许多字段和附件
  • 如何在 Ubuntu 20.04 上安装 Kvm

    KVM 基于内核的虚拟机 是内置于 Linux 内核中的开源虚拟化技术 使用 KVM 运行多个 Linux 或 Windows 来宾虚拟机 每个来宾都与其他来宾完全隔离 并拥有自己的操作系统和专用虚拟硬件 例如 CPU 内存 网络接口和存储
  • 如何在 Ubuntu 20.04 上安装 OpenCV

    OpenCV 开源计算机视觉库 是一个开源计算机视觉库 绑定了 C Python 和 Java 并支持所有主要操作系统 它可以利用多核处理并具有 GPU 加速功能来实现实时操作 OpenCV 的应用范围很广 包括医学图像分析 拼接街景图像
  • 如何在 Debian 10 Linux 上添加交换空间

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