如何增加Ubuntu Swap分区大小
导读:增加Ubuntu Swap分区/文件大小的步骤 一、前置准备:检查当前Swap状态 在调整前,先确认系统当前的Swap使用情况,包括Swap类型(分区/文件)、大小及剩余空间: sudo swapon --show # 查看已启用...
增加Ubuntu Swap分区/文件大小的步骤
一、前置准备:检查当前Swap状态
在调整前,先确认系统当前的Swap使用情况,包括Swap类型(分区/文件)、大小及剩余空间:
sudo swapon --show # 查看已启用的Swap设备及大小
free -h # 查看内存与Swap的总使用情况(人类可读格式)
二、方法一:创建新的Swap文件(推荐,无需修改现有分区)
若系统未使用LVM或不想调整现有分区,创建新的Swap文件是最便捷的方式。
1. 创建指定大小的Swap文件
使用fallocate
(快速,推荐)或dd
(兼容性好)命令创建文件(以新增4GB为例):
sudo fallocate -l 4G /swapfile # 创建4GB的Swap文件(需足够磁盘空间)
# 若fallocate不可用,用dd命令:
# sudo dd if=/dev/zero of=/swapfile bs=1G count=4 # 1G×4=4GB
2. 设置严格的文件权限
Swap文件仅能被root读写,防止未经授权的访问:
sudo chmod 600 /swapfile
3. 格式化为Swap格式
将普通文件转换为Swap可识别的文件系统:
sudo mkswap /swapfile
4. 启用新的Swap文件
立即激活新增的Swap空间:
sudo swapon /swapfile
5. 永久生效:添加到/etc/fstab
编辑系统启动配置文件,确保重启后自动启用:
sudo nano /etc/fstab
在文件末尾添加以下行(若已有Swap文件条目,需修改大小或合并):
/swapfile none swap sw 0 0
按Ctrl+X
→Y
→Enter
保存并退出。
三、方法二:扩展现有Swap分区(适用于传统分区表)
若系统使用传统MBR/GPT分区表且存在独立的Swap分区(如/dev/sdaX
),可通过以下步骤扩展:
1. 关闭现有Swap分区
sudo swapoff /dev/sdXn # 替换为你的Swap分区(如/dev/sda2)
2. 调整分区大小
使用图形化工具(如GParted)或命令行工具(如parted
)扩展分区:
- GParted(推荐):
找到Swap分区(通常标记为“swap”),右键选择“Resize/Move”,拖动分区边缘或输入新大小,点击“Apply”确认。sudo gparted
- 命令行(parted):
sudo parted /dev/sdX (parted) resizepart X # X为分区号(如2) 新结束位置(如+4G)或直接输入新大小 (parted) quit
3. 重新格式化为Swap
sudo mkswap /dev/sdXn
4. 启用扩展后的Swap分区
sudo swapon /dev/sdXn
5. 验证结果
sudo swapon --show
free -h
四、方法三:LVM环境下扩展Swap逻辑卷(适用于LVM管理)
若系统使用LVM(逻辑卷管理),扩展Swap更灵活,无需调整物理分区:
1. 关闭Swap
sudo swapoff /dev/mapper/vgname-swaplv # 替换为你的Swap逻辑卷(如/dev/mapper/ubuntu--vg-swap_1)
2. 扩展逻辑卷大小
假设需要增加2GB,先确保卷组(VG)有足够空闲空间:
sudo lvextend -L +2G /dev/mapper/vgname-swaplv # 增加2GB
# 或扩展至指定大小(如20GB):
# sudo lvextend -L 20G /dev/mapper/vgname-swaplv
3. 调整Swap文件系统大小
sudo mkswap /dev/mapper/vgname-swaplv # 重新格式化(会清除原有数据,但Swap无数据丢失风险)
4. 启用Swap
sudo swapon /dev/mapper/vgname-swaplv
5. 验证
sudo swapon --show
free -h
五、注意事项
- 备份重要数据:调整分区或文件系统前,务必备份个人数据,避免操作失误导致数据丢失。
- 磁盘空间检查:确保磁盘有足够的未分配空间(传统分区)或卷组空闲空间(LVM)。
- 权限安全:Swap文件/分区必须设置为
600
权限,防止恶意访问。 - 性能影响:Swap速度远慢于物理内存,建议内存不足时优先升级内存而非过度依赖Swap。
- swappiness调优:若Swap使用频繁,可调整
swappiness
参数(默认60,值越低越少用Swap):sudo sysctl vm.swappiness=30 # 临时设置(重启失效) echo 'vm.swappiness=30' | sudo tee -a /etc/sysctl.conf # 永久设置
通过以上方法,可根据系统需求灵活增加Ubuntu的Swap空间,提升系统在内存不足时的稳定性。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何增加Ubuntu Swap分区大小
本文地址: https://pptw.com/jishu/727673.html