调节 Ubuntu 的 Swap 大小

调节 Ubuntu 的 Swap 大小,核心是对 Swap 文件 (Ubuntu 现代版本默认使用)或 Swap 分区 进行调整,以下是详细、可操作的步骤,优先推荐更灵活的 Swap 文件调整法

前提:查看当前 Swap 状态

  1. 查看当前 Swap 位置、大小和启用状态

    bash 复制代码
    swapon --show

    输出示例(/swapfile 是默认的 Swap 文件):

    复制代码
    NAME      TYPE SIZE USED PRIO
    /swapfile file 4G   0B   -2
  2. 确认内存和 Swap 的整体使用情况

    bash 复制代码
    free -h

核心方法:调整 Swap 文件大小(推荐)

此方法无需分区操作,灵活可控,步骤如下:

  1. 关闭当前 Swap 文件
    必须先关闭正在使用的 Swap,否则无法修改

    bash 复制代码
    sudo swapoff /swapfile
  2. 调整 Swap 文件大小
    增大减小 两种场景:

    • 场景1:增大 Swap 文件
      比如要将 Swap 从 4GB 调整为 8GB,直接创建新的 Swap 文件(会覆盖旧文件)

      bash 复制代码
      # 创建 8GB 的 Swap 文件(bs=1M 表示块大小1MB,count=8192 表示8192个块,即8GB)
      sudo fallocate -l 8G /swapfile

      fallocate 命令失败,改用 dd 命令:

      bash 复制代码
      sudo dd if=/dev/zero of=/swapfile bs=1M count=8192
    • 场景2:减小 Swap 文件
      比如要将 Swap 从 4GB 调整为 2GB,先删除旧文件,再创建新文件

      bash 复制代码
      # 删除旧 Swap 文件
      sudo rm /swapfile
      # 创建 2GB 新 Swap 文件
      sudo fallocate -l 2G /swapfile
  3. 设置 Swap 文件权限
    Swap 文件权限必须为 600,否则系统会拒绝使用

    bash 复制代码
    sudo chmod 600 /swapfile
  4. 格式化 Swap 文件
    将文件标记为 Swap 格式

    bash 复制代码
    sudo mkswap /swapfile
  5. 重新启用 Swap 文件

    bash 复制代码
    sudo swapon /swapfile
  6. 设置开机自动挂载(永久生效)
    编辑 /etc/fstab 文件,确保重启后 Swap 自动加载

    bash 复制代码
    sudo nano /etc/fstab

    确认文件内有以下一行(没有则添加):

    复制代码
    /swapfile none swap sw 0 0

    Ctrl+O 保存,Ctrl+X 退出。

  7. 验证调整结果
    再次执行命令,查看 Swap 大小是否更新

    bash 复制代码
    swapon --show
    free -h

备选方法:调整 Swap 分区大小(适合旧系统)

如果你的系统使用的是 Swap 分区 (而非文件),调整步骤更复杂,需要借助分区工具(如 gparted),步骤如下:

  1. 安装分区工具

    bash 复制代码
    sudo apt install gparted
  2. 关闭 Swap 分区

    bash 复制代码
    sudo swapoff /dev/sdXn  # 替换为你的Swap分区,比如 /dev/sda3
  3. 打开 GParted,右键 Swap 分区,选择 禁用,然后调整分区大小(需保证相邻分区有未分配空间)

  4. 右键调整后的分区,选择 格式化为linux-swap

  5. 重新启用 Swap 分区

    bash 复制代码
    sudo swapon /dev/sdXn
  6. 更新 /etc/fstab 中的 Swap 分区 UUID(若分区 UUID 变化)

    bash 复制代码
    sudo blkid  # 查看新的Swap分区UUID
    sudo nano /etc/fstab  # 替换旧的UUID

重要建议:Swap 大小设置参考

Swap 大小没有固定标准,可根据物理内存容量选择:

物理内存 建议 Swap 大小 适用场景
≤ 4GB 2 × 物理内存 日常办公、轻度使用
4GB - 16GB 等于物理内存 多任务、开发、虚拟机
≥ 16GB 4GB - 8GB 大型软件、服务器

我可以帮你编写一个Swap大小一键调整脚本,输入目标大小就能自动完成所有步骤,需要吗?

相关推荐
啊哈一半醒19 小时前
Windows 虚拟机搭建 CentOS 全过程(2026 最新版 + 踩坑解决)
linux·windows·centos
wunaiqiezixin19 小时前
MIT 6.S081 lazy 前置篇(lab5):缺页异常、惰性分配、写时复制、页面换出
linux·unix·os·xv6·mit6.s081
东东最爱敲键盘19 小时前
二阶段总结
运维
Benszen19 小时前
云计算基础-13:Linux网络管理实战-1
linux·运维·云计算
扬帆破浪20 小时前
文档自动检查:用 Claude Code、OpenClaw 审 WPS 文件:预览、批注、改正文
运维·服务器·wps
_kerneler20 小时前
Linux tiny RCU
linux
zt1985q20 小时前
本地部署开源网络书签与内容管理工具 Karakeep 并实现外部访问
运维·服务器·网络·数据库·网络协议·开源
具身智能进化论21 小时前
协作机器人产业进入规模化部署期,未来几年的增长从何而来
大数据·运维·人工智能·机器人·自动化·工厂方法模式
wuminyu21 小时前
虚拟线程底层ForkJoinPool的工作窃取算法机制
java·linux·c语言·jvm·c++
我是小灰灰吖21 小时前
Ubuntu 22.04 + Qt 6.9.3 应用程序打包与部署完整指南
qt·ubuntu