调节 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大小一键调整脚本,输入目标大小就能自动完成所有步骤,需要吗?

相关推荐
比昨天多敲两行1 分钟前
Linux信号
linux·运维·服务器
sulikey13 分钟前
ELF文件中的“节“与“段“,如何与虚拟地址空间中的“分页“和“分段“产生联系?
linux·服务器·elf·虚拟地址空间·分页·分段·elf文件
志栋智能27 分钟前
超自动化安全:构建智能安全运营的神经系统
大数据·运维·网络·人工智能·安全·自动化
我先去打把游戏先39 分钟前
Ubuntu虚拟机(服务器版本)Git卸载完全教程——彻底移除与清理配置
服务器·git·单片机·嵌入式硬件·物联网·ubuntu·51单片机
着迷不白40 分钟前
四、Linux 文件权限+sudo权限委派+IO重定向+vim高级
linux·运维·服务器
WhoAmI41 分钟前
Linux 服务器挂载 LVM 逻辑卷全流程记录与问题排查
linux·服务器
zincsweet1 小时前
进程同步与通信:System V 消息队列 + 信号量一站式解析
linux
是有头发的程序猿1 小时前
AI Agent电商自动化实战:淘宝商品详情API无人化采集与分析教程
运维·人工智能·自动化
取经蜗牛1 小时前
Docker 常用命令全面总结
运维·docker·容器