游乐游手机版
首页/系统平台/文章详情

Ubuntu创建删除调整Swap空间 Linux交换分区修改技巧

时间:2026-06-23 07:42
当 Linux 系统的物理内存耗尽时,内核会将不活跃的内存页面迁移到 SWAP 空间中。这个交换空间既可以是专用的 SWAP 分区,也可以是SWAP 文件。但在虚拟机中运行 Ubuntu 时,系统通常不会自动创建 SWAP 空间,这往往会带来困扰——内存不足时,系统可能会直接崩溃或卡死。 本文将详细

当 Linux 系统的物理内存耗尽时,内核会将不活跃的内存页面迁移到 SWAP 空间中。这个交换空间既可以是专用的 SWAP 分区,也可以是SWAP 文件。但在虚拟机中运行 Ubuntu 时,系统通常不会自动创建 SWAP 空间,这往往会带来困扰——内存不足时,系统可能会直接崩溃或卡死。

Ubuntu怎么创建、删除和调整 SWAP 空间? Linux修改swap交换空间的技巧

本文将详细介绍如何在 Ubuntu 中创建、删除和调整 SWAP 空间,同时分享一些实用的运维技巧,帮助你更好地管理交换空间。

Linux 中的 SWAP 空间解析

计算机的物理内存(RAM)被 Linux 内核划分为一个个称为“页面”的块。当系统需要释放内存时,它会将这些页面复制到预先分配好的次要存储设备(通常是 HDD 或 SSD)上,这个过程就叫“交换”。而预留给交换操作的存储区域就是“SWAP 空间”。物理内存与 SWAP 空间的总和,就是我们常说的虚拟内存。

交换的必要性

为什么要启用交换?主要原因包括:

  • 当内存需求超过可用物理内存时,将不重要的页面换出,可以腾出空间给关键进程。
  • 程序启动初期,大部分页面很少被用到,交换这些页面能为其他应用释放内存资源。
  • 如果没有分配任何 SWAP 空间,一旦 RAM 完全占满,系统极有可能直接崩溃——尤其是内存较小的设备。

但交换也伴随一定代价:

  • 次要存储设备(HDD、SSD 等)的读写速度远低于 RAM。RAM 的访问速度以纳秒计,而磁盘则是毫秒级,两者差距达数个数量级。
  • 由于速度差异,交换过程相对缓慢。如果系统发生大量交换操作,整体响应速度会明显下降。

SWAP 空间的类型

在 Linux 中,SWAP 空间主要有两种形式:

  • 专用的 SWAP 分区:这种分区只能用于交换,无法存储其他文件。
  • SWAP 文件:可放置在文件系统的任意位置,灵活度更高。

具体选择多大容量,取决于你的物理内存大小和实际工作负载。

Ubuntu 中的 SWAP 文件

Ubuntu 默认情况下倾向于使用专用的 SWAP 分区。安装过程中系统通常会自动创建,但如果需要手动管理,你也可以随时创建和调整 SWAP 文件。

查看 SWAP 空间

在动手操作之前,首先用以下命令检查系统是否已启用 SWAP:

sudo swapon --show

Ubuntu怎么创建、删除和调整 SWAP 空间? Linux修改swap交换空间的技巧

查看当前 SWAP 空间状态

该命令会列出所有已启用的 SWAP 空间(包括分区和文件)。如果输出为空,说明当前未启用任何交换空间。

虽然一台 Linux 机器可以同时存在多个 SWAP 空间,但这种情况并不常见。

创建 SWAP 文件

与 SWAP 分区相比,SWAP 文件的优势在于文件大小可以随时调整,无需改动磁盘分区表。下面演示如何创建一个新的 SWAP 文件并将其加入交换池。

1、在终端中执行以下命令,创建一个空白文件:

sudo dd if=/dev/zero of=/swapfile bs=1M count=2048

Ubuntu怎么创建、删除和调整 SWAP 空间? Linux修改swap交换空间的技巧

使用 dd 命令创建 SWAP 文件

  • 文件大小 = 1M × 2048 = 2G。如需调整大小,修改 count 参数即可。
  • /dev/zero 是 Linux 的特殊设备,每次读取都会返回零字节。
  • 虽然也可以使用 fallocate 等工具创建文件,但某些文件系统下可能存在问题,dd 方法更加稳妥。

2、设置正确的文件权限:

sudo chmod 600 /swapfile

3、使用 mkswap 将文件格式化为 SWAP 空间:

sudo mkswap /swapfile

4、激活该 SWAP 文件,将其加入交换池:

sudo swapon /swapfile

5、若要永久生效,需将 SWAP 文件路径写入 /etc/fstab

/swapfile swap swap defaults 0 0

Ubuntu怎么创建、删除和调整 SWAP 空间? Linux修改swap交换空间的技巧

配置 /etc/fstab 实现 SWAP 文件开机自动挂载

6、使用 swaponfree 命令验证:

sudo swapon --show
## 或者
sudo free -h

Ubuntu怎么创建、删除和调整 SWAP 空间? Linux修改swap交换空间的技巧

验证 SWAP 文件是否正常启用

调整 Swappiness 值

Swappiness 是 Linux 内核的一个参数,控制系统使用 SWAP 的积极程度。取值范围为 0100:数值越低,内核越倾向于少用交换;数值越高,则越频繁地将内存页面换出。

Ubuntu 的默认值为 60,可通过以下命令查看:

cat /proc/sys/vm/swappiness

对于桌面环境,60 还算合理;但如果是服务器,该值会导致 SWAP 使用过于频繁,通常需要调低。例如,将其改为 40

sudo sysctl vm.swappiness=40

Ubuntu怎么创建、删除和调整 SWAP 空间? Linux修改swap交换空间的技巧

查看并临时调整 Swappiness 值

若希望重启后依然生效,需在 /etc/sysctl.conf 中添加一行:

vm.swappiness=40

最佳的 swappiness 值取决于你的工作负载和内存使用习惯,建议逐步测试,找到性能与稳定性之间的平衡点。

删除 SWAP 文件

当不再需要某个 SWAP 文件时,可按以下步骤移除:

1、停用该 SWAP 文件:

sudo swapoff -v /swapfile

2、从 /etc/fstab 中删除对应的行。

3、删除文件:

sudo rm /swapfile

Ubuntu怎么创建、删除和调整 SWAP 空间? Linux修改swap交换空间的技巧

彻底删除 SWAP 文件

调整 SWAP 空间大小

根据 SWAP 的类型(分区或文件),调整方法有所不同。

调整 SWAP 分区大小

只有分区后面存在未分配空间时,才能扩大 SWAP 分区;否则只能缩小。如果你使用 GNOME 桌面,可以通过“磁盘”应用查看分区布局。

Ubuntu怎么创建、删除和调整 SWAP 空间? Linux修改swap交换空间的技巧

使用 GNOME 磁盘工具调整 SWAP 分区

也可以借助 GParted 进行可视化操作。

Ubuntu怎么创建、删除和调整 SWAP 空间? Linux修改swap交换空间的技巧

使用 GParted 工具管理 SWAP 分区大小

如截图所示,有些系统的交换分区紧邻根分区,可能没有多余空间进行扩展。

调整 SWAP 文件大小

1、先将文件从交换池中移出:

sudo swapoff /swapfile

2、使用 dd 命令增加文件大小(例如增加 2GB):

sudo dd if=/dev/zero of=/swapfile bs=1G count=2 oflag=append conv=notrunc

Ubuntu怎么创建、删除和调整 SWAP 空间? Linux修改swap交换空间的技巧

通过 dd 命令扩展 SWAP 文件大小

3、将 SWAP 文件大小增加到 2GB 后,重新格式化:

sudo mkswap /swapfile

4、再次启用该文件:

sudo swapon /swapfile

本文系统梳理了在 Ubuntu 中管理 SWAP 空间的完整流程,涵盖 SWAP 空间的类型、创建与删除 SWAP 文件、调整 swappiness 参数,以及调整 SWAP 分区和文件大小的具体方法。希望这些实用技巧能帮助你在日常运维中更高效地管理交换空间,避免内存瓶颈带来的问题。

来源:https://www.jb51.net/os/Ubuntu/957605.html
上一篇CentOS系统删除大文件的有效方法与步骤 下一篇CentOS7与CentOS6的区别全面解析
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

补充同频道和同主题内容,方便继续浏览更多相关内容。

同类最新

继续查看同栏目最近更新的文章。

更多
微软详解Win11时间点还原 默认每24小时创建恢复点
系统平台 · 2026-06-30

微软详解Win11时间点还原 默认每24小时创建恢复点

微软今日推送了最新的 6 月可选更新,并发布博客详细解读了 Win11 全新的“时间点还原”(Point-in-time restore)功能——这一功能本质上是对系统恢复体验的一次全面升级,旨在让用户更轻松地应对电脑故障。 微软表示,面向 Windows 11 客户端用户的“时间点还原”功能现已正

Win11 26H1六月可选更新KB5095091 优化放大镜改善装机体验
系统平台 · 2026-06-30

Win11 26H1六月可选更新KB5095091 优化放大镜改善装机体验

微软今天推送了Windows 11 26H1设备的6月可选更新KB5095091,安装完成后系统版本号会升级到Build 28000 2340。值得一提的是,这次更新并非面向所有设备,而是专门为搭载高通骁龙X2系列芯片的机型准备的——包括骁龙X2 Plus、X2 Elite和X2 Elite Ext

Win11六月可选更新KB5095093修复回收站弹窗异常
系统平台 · 2026-06-30

Win11六月可选更新KB5095093修复回收站弹窗异常

微软已悄然推送Windows 11六月可选更新,编号KB5095093。本次更新覆盖两个版本:24H2用户安装后版本号升级至Build 26100 8737,而25H2用户则更新至Build 26200 8737。 本次更新并非仅是小修小补,而是带来了多项实质性新功能。下面我们就来详细解析这些更新内

苹果macOS 27 Beta2封堵Siri AI跳过候补名单漏洞
系统平台 · 2026-06-30

苹果macOS 27 Beta2封堵Siri AI跳过候补名单漏洞

科技媒体 Cult of Mac 昨日(6月23日)发布博文指出,苹果在 macOS 27 Beta 2 更新中悄然封堵了一个此前可用的后门——用户曾能通过一条终端命令绕过候补名单,直接启用新版 Siri AI,如今这一方法已失效。 简要回顾一下:在 macOS 27 Beta 1 阶段,只需在 M

微软加速Win11 25H2推送 覆盖所有符合条件家用PC
系统平台 · 2026-06-30

微软加速Win11 25H2推送 覆盖所有符合条件家用PC

近日(6月23日),科技媒体 Windows Latest 发布了一则值得关注的动态:微软已进一步扩大 Windows 11 25H2 的推送范围,所有满足硬件要求、且不受 IT 部门管理的家庭版和专业版设备,现在均可顺利接收本次更新。 此次升级有一个显著特点——采用“启用包”(eKB)方式进行推送