如何增加Ubuntu Swap容量
如何增加Ubuntu Swap容量
增加Ubuntu系统的Swap容量可通过创建/调整Swap文件(推荐,适用于大多数场景)或扩展现有Swap分区(适用于传统分区布局)实现。以下是详细步骤及注意事项:
一、前置准备:检查当前Swap状态
在操作前,需确认系统当前Swap使用情况及磁盘空间是否充足:
sudo swapon --show # 查看已启用的Swap设备及大小
free -h # 查看内存与Swap总容量
df -h # 查看磁盘剩余空间(确保有足够空间创建Swap文件)
二、方法一:创建/调整Swap文件(推荐)
Swap文件是动态扩展Swap容量的最常用方式,适用于所有Ubuntu版本(尤其是使用UEFI启动的系统)。
1. 关闭现有Swap文件(若已存在)
若系统已通过Swap文件提供Swap空间,需先禁用并删除旧文件(可选):
sudo swapoff /swapfile # 禁用Swap文件
sudo rm /swapfile # 删除旧文件(谨慎操作,确保无重要数据)
2. 创建新Swap文件
使用fallocate
(快速,推荐)或dd
(兼容性好)命令创建指定大小的Swap文件(例如8GB):
sudo fallocate -l 8G /swapfile # 推荐:快速分配8GB空间
# 或
sudo dd if=/dev/zero of=/swapfile bs=1G count=8 # 兼容:逐块写入8GB零数据
3. 设置文件权限
Swap文件需限制为仅root可读写,避免安全风险:
sudo chmod 600 /swapfile
4. 格式化为Swap空间
将文件转换为Swap格式,使其可被系统识别:
sudo mkswap /swapfile
5. 启用Swap文件
立即激活新Swap文件,使系统开始使用:
sudo swapon /swapfile
6. 设置开机自动挂载
编辑/etc/fstab
文件,添加以下行以确保重启后自动启用Swap文件:
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
7. 验证结果
确认Swap容量已增加:
sudo swapon --show # 查看Swap设备及大小
free -h # 查看总Swap容量
三、方法二:扩展现有Swap分区(传统分区布局)
若系统使用传统MBR/GPT分区表且已分配Swap分区(而非Swap文件),需通过分区工具调整分区大小。
1. 关闭现有Swap分区
sudo swapoff /dev/sdXn # 替换为你的Swap分区(如/dev/nvme0n1p3)
2. 调整分区大小
使用gparted
图形工具(推荐新手)或fdisk
命令行工具扩展Swap分区:
-
图形工具(gparted):
sudo apt install gparted # 安装gparted(若未安装) sudo gparted # 启动工具
找到Swap分区(通常标记为“linux-swap”),右键选择“Resize/Move”,拖动分区边界扩展大小,点击“Apply”保存更改。
-
命令行工具(fdisk):
sudo fdisk /dev/sdX # 替换为你的磁盘(如/dev/nvme0n1)
输入
d
删除旧Swap分区(不会立即删除数据),输入n
创建新分区(选择“Linux swap”类型,代码82),调整分区大小(起始扇区与旧分区一致,结束扇区更大),输入w
保存并退出。
3. 重新格式化Swap分区
sudo mkswap /dev/sdXn # 替换为新分区名
4. 启用Swap分区
sudo swapon /dev/sdXn
5. 更新/etc/fstab
编辑/etc/fstab
,将旧分区路径替换为新分区路径(若分区名未变,可跳过):
sudo nano /etc/fstab
将原行(如/dev/sdXm none swap sw 0 0
)修改为/dev/sdXn none swap sw 0 0
,保存退出。
四、方法三:使用LVM扩展Swap(逻辑卷管理)
若系统使用LVM(逻辑卷管理),可通过LVM工具灵活扩展Swap空间,无需调整物理分区。
1. 关闭Swap
sudo swapoff -a
2. 扩展逻辑卷(LV)
假设Swap逻辑卷名为/dev/vgubuntu/swap_1
,需扩展2GB:
sudo lvextend -L +2G /dev/vgubuntu/swap_1 # 扩展2GB
# 或扩展至指定大小(如20GB)
sudo lvextend -L 20G /dev/vgubuntu/swap_1
3. 重置Swap签名并启用
sudo mkswap /dev/vgubuntu/swap_1 # 重置Swap签名
sudo swapon /dev/vgubuntu/swap_1 # 启用
4. 更新/etc/fstab
确保/etc/fstab
中仍指向原逻辑卷路径(LVM路径不变,无需修改):
/dev/vgubuntu/swap_1 none swap sw 0 0
五、调整Swappiness(可选优化)
Swappiness参数控制内核使用Swap的频率(范围0-100,默认60)。降低该值可减少Swap使用,提升系统响应速度(适合桌面系统):
sudo sysctl vm.swappiness=10 # 临时生效(重启失效)
echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf # 永久生效
六、注意事项
- 空间充足:确保磁盘有足够未分配空间(创建Swap文件)或未使用分区(扩展现有分区)。
- 备份数据:扩展现有分区或LVM前,备份重要数据(避免操作失误导致数据丢失)。
- 性能建议:SSD用户优先使用Swap文件(随机读写性能更好);机械硬盘用户可选择分区方式。
- 休眠支持:若需系统休眠功能,Swap大小需≥物理内存(RAM)容量。
- 验证重启:修改
/etc/fstab
后,重启系统确认Swap自动启用:sudo reboot free -h
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何增加Ubuntu Swap容量
本文地址: https://pptw.com/jishu/730661.html