630 字
2 分钟
Linux配置swap分区
在 Ubuntu 系统中,配置 Swap(交换空间)最常用且推荐的方法是使用Swap 文件(Swap File),而不是创建独立的硬盘分区。这样做更灵活,也更容易调整大小。
以下是配置 Swap 文件的详细步骤:
1. 检查当前的 Swap 状态
在开始之前,检查系统是否已经配置了 Swap。
sudo swapon --show# 或者free -h如果输出为空或 Swap 一栏全是 0B,说明当前没有配置 Swap。
2. 创建 Swap 文件
假设我们要创建一个 4GB 的 Swap 文件(你可以根据需要修改大小,例如 2G 或 8G)。
使用 fallocate 命令快速预分配空间:
sudo fallocate -l 4G /swapfile注意:如果 fallocate 报错(通常在某些旧的文件系统上),可以使用 dd 命令代替:sudo dd if=/dev/zero of=/swapfile bs=1024 count=4194304
3. 设置权限
出于安全考虑,Swap 文件应该只能由 root 用户读写。
sudo chmod 600 /swapfile4. 标记为 Swap 空间
将该文件格式化为 Swap 格式:
sudo mkswap /swapfile5. 启用 Swap
激活刚刚创建的 Swap 文件:
sudo swapon /swapfile现在再次运行 free -h 或 sudo swapon --show,你应该能看到 Swap 空间已经生效了。
6. 设置开机自启 (永久生效)
目前的设置重启后会失效。为了让它永久生效,需要修改 /etc/fstab 文件。
建议先备份文件:
sudo cp /etc/fstab /etc/fstab.bak将配置追加到文件末尾:
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab7. 优化 Swap 使用策略 (Swappiness)
Swappiness 值控制系统使用 Swap 的积极程度。
- 范围:0 ~ 100
- 60 (Ubuntu 默认):内存使用到一定程度就开始使用 Swap。
- 10 (推荐用于服务器):尽量仅在物理内存快满时才使用 Swap(因为硬盘速度远慢于内存)。
查看当前值:
cat /proc/sys/vm/swappiness临时修改(重启失效):
sudo sysctl vm.swappiness=10永久修改: 编辑配置文件:
sudo nano /etc/sysctl.conf在文件末尾添加一行:
vm.swappiness=10保存并退出(Ctrl+O, Enter, Ctrl+X)。
8. 如何删除/调整 Swap
如果你想删除 Swap 或者调整大小,请按以下步骤操作:
-
关闭 Swap:
sudo swapoff /swapfile -
删除文件:
sudo rm /swapfile -
修改 fstab: 打开
/etc/fstab,删除你之前添加的那一行 (/swapfile none swap sw 0 0)。
建议的 Swap 大小参考
- 内存 < 2GB: Swap 设置为内存的 2 倍。
- 内存 2GB - 8GB: Swap 设置为 等同于内存大小。
- 内存 > 8GB: Swap 设置为 4GB 或 8GB 即可(通常不需要更多,除非运行特殊应用)。
部分信息可能已经过时









