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 --show 或 free -h 以验证新 Swap 空间已激活。
6. 永久生效配置
将以下行添加到 /etc/fstab 文件末尾,使系统每次启动时自动启用该 Swap 文件:
echo '/swap16g none swap sw 0 0' | sudo tee -a /etc/fstab
方法二:使用独立 Swap 分区(不推荐用于后期新增)
警告:此操作涉及磁盘分区,存在数据丢失风险,请务必提前备份所有重要数据!
此方法通常仅在安装操作系统时进行规划。如需在现有系统上操作,需使用 gparted (GUI) 或 fdisk/cfdisk (CLI) 工具先调整出一个未分配的磁盘空间。
- 创建新分区:在未分配空间上创建一个新分区。
- 设置分区类型:将新分区的类型标记为
Linux swap。 - 格式化分区:
sudo mkswap /dev/sdXn # 请将 /dev/sdXn 替换为你的实际分区标识(如 /dev/sda3) - 启用 Swap 分区:
sudo swapon /dev/sdXn - 永久生效:使用
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 文件是完成此任务的最佳实践。

浙公网安备 33010602011771号