首页主机资讯如何增加Ubuntu Swap容量

如何增加Ubuntu Swap容量

时间2025-10-21 00:16:03发布访客分类主机资讯浏览1420
导读:如何增加Ubuntu Swap容量 增加Ubuntu系统的Swap容量可通过创建/调整Swap文件(推荐,适用于大多数场景)或扩展现有Swap分区(适用于传统分区布局)实现。以下是详细步骤及注意事项: 一、前置准备:检查当前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    # 永久生效

六、注意事项

  1. 空间充足:确保磁盘有足够未分配空间(创建Swap文件)或未使用分区(扩展现有分区)。
  2. 备份数据:扩展现有分区或LVM前,备份重要数据(避免操作失误导致数据丢失)。
  3. 性能建议:SSD用户优先使用Swap文件(随机读写性能更好);机械硬盘用户可选择分区方式。
  4. 休眠支持:若需系统休眠功能,Swap大小需≥物理内存(RAM)容量。
  5. 验证重启:修改/etc/fstab后,重启系统确认Swap自动启用:
    sudo reboot
    free -h
    

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: 如何增加Ubuntu Swap容量
本文地址: https://pptw.com/jishu/730661.html
Ubuntu Swap对虚拟机有影响吗 如何检查Ubuntu Swap状态

游客 回复需填写必要信息