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

相关推荐
KIDULT°22 分钟前
MySQL系列 (1):数据库原理
运维·数据库·mysql·云计算
别动我齐刘海1 小时前
C++ 工程化学习
java·linux·前端·c++·学习·机器学习·机器人
wewowilling3 小时前
认识微服务
java·运维·微服务·springcloud
玖石书3 小时前
Ubuntu 24.04 UFW 全命令攻略:从入门到端口开放实战
linux·运维·ubuntu
xiaoqiMikko3 小时前
Linux 实战(七):useradd、sudoers、umask、SGID、软链 —— 三台真机实测
linux·centos
weifont5 小时前
自动化抓取和上架商品:能不动手,就少动手
运维·前端·自动化
拂拉氏5 小时前
【知识讲解】 Linux之动静态库的了解
linux·运维·服务器·动静态库
Fcy6486 小时前
Linux下 五种IO模型的认识与⾮阻塞IO的实现
linux·服务器·io
Mikko76 小时前
Linux 重启后日志没了?进程被 OOM 杀了去哪看?logrotate 之后日志还往旧文件写?三台真机实测日志与性能排查
linux·运维·centos
夏尔Gaesar6 小时前
解决Ubuntu安装vm tools时选项为灰色问题
ubuntu