当前位置: 代码网 > it编程>开发工具>Docker > Ubuntu交换区(Swap)扩容实现方式

Ubuntu交换区(Swap)扩容实现方式

2026年02月09日 Docker 我要评论
一、简介 swap 分区swap 分区是 linux 操作系统中用于临时存储数据的一种特殊分区类型。它可以用来辅助物理内存(ram)工作,尤其是在内存不足时,系统会将一些数据从内存移动到 swap 空

一、简介 swap 分区

swap 分区是 linux 操作系统中用于临时存储数据的一种特殊分区类型。它可以用来辅助物理内存ram)工作,尤其是在内存不足时,系统会将一些数据从内存移动到 swap 空间,从而释放内存供其他任务使用。swap 的本质是磁盘上的一块区域(分区或文件),充当虚拟内存,一般我们可以分为两种类型:

  • swap 分区:专门划分磁盘空间并设置为 swap 类型的分区。
  • swap 文件:在文件系统中创建的一个普通文件,功能与 swap 分区相同
sudo swapon --show
----------------------------------
# swap 文件
name      type      size used prio
/swapfile file      4g   0b   -2

# swap 分区
name      type      size used prio
/dev/sda2 partition 4g   0b   -2

# /dev/sda2 是具体的硬盘类型,hdd/ssd 

swap 分区是传统的虚拟内存实现方式,为操作系统提供内存不足时的备用空间。而在现代系统中(ubuntu 18.04 开始,默认使用 swap 文件),swap 文件更常用,因为它灵活易调整,但对于特定场景(如系统休眠),swap 分区仍然不可或缺。因此,在 ubuntu 中调整 swap 交换分区的大小,具体取决于使用的是分区(swap partition) 还是交换文件(swap file) 作为交换空间。

二、调整 swap 文件大小

关闭(禁用)当前 swap 文件

sudo swapoff /swapfile

删除当前的 swap 文件

sudo rm /swapfile

创建新的 swap 文件并指定大小,以4g为例

sudo dd if=/dev/zero of=/swapfile bs=1g count=4   # count=4表示创建4个1gb的块

权限设置

sudo chmod 600 /swapfile

格式化新的 swap 文件

sudo mkswap /swapfile

启用新的 swap 文件

sudo swapon /swapfile

验证是否启用了新的 swap

sudo swapon --show

编辑 fstab 文件,确保 /swapfile 开机自动挂载

sudo vim /etc/fstab

在 fstab 文件中插入(已有可忽略这步)

/swapfile none swap sw 0 0

查看当前的 swap 状态

free -h

三、调整 swap 分区大小

关闭(禁用)当前 swap 文件

sudo swapoff -a  

使用命令行找到 swap 分区

fdisk -l 或者 lsblk -f   # 后续会频繁使用,请关注工具的显示格式

删除旧的 swap 分区(磁盘分区另见文章),这里为了展示,没有删除旧的交换分区只是停用,可以根据自己情况酌情选择删除与否。

创建新分区并指定大小

将新分区格式化为 swap 类型

sudo mkswap /dev/nvme0n1p12  # 换成自己的分区名

启用新的 swap 分区

sudo swapon /dev/nvme0n1p12

验证是否启用了新的 swap 分区

sudo swapon --show

编辑 fstab 文件,确保 swap 分区开机自动挂载

sudo vim /etc/fstab

在 fstab 文件中插入(注意将原交换区注释掉)

/dev/nvme0n1p12 none swap sw 0 0

查看当前的 swap 状态

free -h

总结

从 ubuntu 18.04 开始,swap 文件已成为默认设置,手动创建 swap 分区已不是必要步骤。

在安装系统的时候,可以只指定 根目录(/)home 目录(/home) 的分区大小,而不专门为 swap 创建分区,安装程序会自动创建一个 swap 文件。

安装程序会根据物理内存大小自动计算(通常是内存大小的等量或两倍,具体取决于内存和硬盘空间的实际情况)。以上是两种交换区扩容的方法。

这些仅为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2026  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com