我可以不吃啊 发表于 2025-3-9 09:27:21

Ubuntu交换区(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的块
https://i-blog.csdnimg.cn/direct/9cadb44a66b3465d95ad3db39d25ab0f.png#pic_center
[*] 权限设置
sudo chmod 600 /swapfile
https://i-blog.csdnimg.cn/direct/20884d5c2ef14eaf85521f4fa870b83c.png#pic_center
[*] 格式化新的 Swap 文件
sudo mkswap /swapfile
https://i-blog.csdnimg.cn/direct/3cac39285594492da278d0d6ab22acd7.png#pic_center
[*] 启用新的 Swap 文件
sudo swapon /swapfile

[*] 验证是否启用了新的 Swap
sudo swapon --show


[*] 编辑 fstab 文件,确保 /swapfile 开机自动挂载
sudo vim /etc/fstab


[*] 在 fstab 文件中插入(已有可忽略这步)
/swapfile none swap sw 0 0

[*] 查看当前的 Swap 状态
free -h

https://i-blog.csdnimg.cn/direct/88096bdf57994fa387086115e1c937f8.png#pic_center
三、调解 Swap 分区巨细


[*] 关闭(禁用)当前 Swap 文件
sudo swapoff -a
https://i-blog.csdnimg.cn/direct/3137b54746db411ea794ac2391d85950.png#pic_center
[*] 使用命令行找到 Swap 分区
fdisk -l 或者 lsblk -f   # 后续会频繁使用,请关注工具的显示格式
https://i-blog.csdnimg.cn/direct/55ba49e70e2749d9a46d1916422403d0.png#pic_center
https://i-blog.csdnimg.cn/direct/10c63928ecec44f58086c32f609cb8fe.png#pic_center
[*] 删除旧的 Swap 分区(磁盘分区另见博客),这里为了展示,没有删除旧的交换分区只是停用,可以根据本身情况酌情选择删除与否。
[*] 创建新分区并指定巨细
https://i-blog.csdnimg.cn/direct/b92730d38208450cbe877d8edfe5f7a7.png#pic_center
[*] 将新分区格式化为 Swap 范例
sudo mkswap /dev/nvme0n1p12# 换成自己的分区名
https://i-blog.csdnimg.cn/direct/731b1e357ede4a97866baa93e3033add.png#pic_center
https://i-blog.csdnimg.cn/direct/cda59711ca14439f910c4a32a8d8469e.png#pic_center
[*] 启用新的 Swap 分区
sudo swapon /dev/nvme0n1p12
https://i-blog.csdnimg.cn/direct/5d6e2d72bbd742fdaa81718be10226ff.png#pic_center
[*] 验证是否启用了新的 Swap 分区
sudo swapon --show

https://i-blog.csdnimg.cn/direct/e3971cabc18f46e79bffabe2ca8fc003.png#pic_center
[*] 编辑 fstab 文件,确保 Swap 分区开机自动挂载
sudo vim /etc/fstab


[*] 在 fstab 文件中插入(注意将原交换区解释掉)
/dev/nvme0n1p12 none swap sw 0 0
https://i-blog.csdnimg.cn/direct/a5b39ab645a84a92b7bc945f58d09155.png#pic_center
[*] 查看当前的 Swap 状态
free -h

https://i-blog.csdnimg.cn/direct/112760bfc1d54271ab11c7f893917b95.png#pic_center
小结

从 Ubuntu 18.04 开始,Swap 文件已成为默认设置,手动创建 Swap 分区已不是须要步调。在安装系统的时间,可以只指定 根目录(/) 和 Home 目录(/home) 的分区巨细,而不专门为 Swap 创建分区,安装步伐会自动创建一个 Swap 文件。安装步伐会根据物理内存巨细自动计算(通常是内存巨细的等量或两倍,具体取决于内存和硬盘空间的实际情况)。以上是两种交换区扩容的方法,相干题目欢迎在评论区讨论!!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: Ubuntu交换区(Swap)扩容方法