Ubuntu 系统创建 16GB Swap 空间文档

概述

本文档提供两种在 Ubuntu 系统上创建 16GB Swap 空间的方法。Swap 空间(交换空间)是硬盘上的一块区域,当物理内存(RAM)不足时,系统会将内存中不常用的数据暂时存储到 Swap 中,从而防止应用程序因内存不足而崩溃。

推荐使用方法一(Swap 文件),因其无需重新分区,操作简单、灵活且安全。


方法一:使用 Swap 文件(推荐)

1. 检查当前 Swap 状态

在终端中执行以下命令,查看现有 Swap 配置:

sudo swapon --show
free -h

2. 创建 Swap 文件

使用 dd 命令在根目录(/)下创建一个名为 swap16g 的 16GB 空文件:

sudo dd if=/dev/zero of=/swap16g bs=1G count=16 status=progress

参数说明:

  • if=/dev/zero: 输入源,提供空字符。
  • of=/swap16g: 输出文件路径和名称。
  • bs=1G: 定义每个块的大小为 1 Gigabyte。
  • count=16: 定义块的数量为 16,总大小 = 1G * 16 = 16GB。
  • status=progress: 显示创建进度(如不支持此参数,请移除)。

3. 设置正确的文件权限

为确保安全,Swap 文件应仅允许 root 用户读写:

sudo chmod 600 /swap16g

4. 格式化文件为 Swap 空间

sudo mkswap /swap16g

5. 立即启用 Swap 文件

sudo swapon /swap16g

再次运行 sudo swapon --showfree -h 以验证新 Swap 空间已激活。

6. 永久生效配置

将以下行添加到 /etc/fstab 文件末尾,使系统每次启动时自动启用该 Swap 文件:

echo '/swap16g none swap sw 0 0' | sudo tee -a /etc/fstab

方法二:使用独立 Swap 分区(不推荐用于后期新增)

警告:此操作涉及磁盘分区,存在数据丢失风险,请务必提前备份所有重要数据!

此方法通常仅在安装操作系统时进行规划。如需在现有系统上操作,需使用 gparted (GUI) 或 fdisk/cfdisk (CLI) 工具先调整出一个未分配的磁盘空间。

  1. 创建新分区:在未分配空间上创建一个新分区。
  2. 设置分区类型:将新分区的类型标记为 Linux swap
  3. 格式化分区
    sudo mkswap /dev/sdXn  # 请将 /dev/sdXn 替换为你的实际分区标识(如 /dev/sda3)
    
  4. 启用 Swap 分区
    sudo swapon /dev/sdXn
    
  5. 永久生效:使用 blkid 命令查询分区的 UUID,然后在 /etc/fstab 中添加如下一行(使用 UUID 比设备名更稳定):
    UUID=你的-swap-分区-UUID none swap sw 0 0
    

(可选)高级配置:调整 Swappiness

swappiness 值决定了系统使用 Swap 空间的积极程度(范围 0-100)。

  • 查看当前值

    cat /proc/sys/vm/swappiness
    

    (默认值通常为 60

  • 临时调整(重启后失效):

    sudo sysctl vm.swappiness=10  # 值越低,越晚使用 Swap
    
  • 永久调整
    编辑 /etc/sysctl.conf 文件:

    sudo nano /etc/sysctl.conf
    

    在文件末尾添加:

    vm.swappiness=10
    

    保存后,应用更改:

    sudo sysctl -p
    

建议值

  • 桌面用户:保持默认 60 或稍低的值(如 30-40)即可。
  • 服务器/高性能需求:建议设置为较低的值(如 10),以减少对硬盘的频繁读写,除非你需要运行非常耗内存的任务。

总结

特性 方法一 (Swap 文件) 方法二 (Swap 分区)
灵活性 (可随时调整大小或删除) 低 (需调整分区,非常麻烦)
难度 (命令简单安全) 高 (有数据丢失风险)
适用场景 系统安装后新增或调整 主要适用于系统安装时规划

对于绝大多数用户,创建 Swap 文件是完成此任务的最佳实践。

posted @ 2025-09-15 11:13  gjf123  阅读(52)  评论(0)    收藏  举报