温馨提示×

Ubuntu Swapper:如何启用它

小樊
50
2025-10-05 11:17:48
栏目: 智能运维

Ubuntu Swapper(交换空间)启用步骤

一、启用前准备:检查现有交换空间

在配置前,先确认系统是否已有交换空间,避免重复操作:

sudo swapon --show  # 查看已启用的交换空间
# 或
sudo fdisk -l       # 查看磁盘分区详情(确认是否有swap分区)

二、方法一:创建交换文件(推荐,适用于大多数场景)

交换文件是动态扩展的灵活方案,无需修改磁盘分区表,适合桌面或云环境。

1. 创建交换文件

使用fallocate命令快速创建(若未安装,可改用dd命令):

sudo fallocate -l 4G /swapfile  # 创建4GB交换文件(可根据内存大小调整,建议为物理内存的1-2倍)
# 若fallocate不可用,用dd命令:
# sudo dd if=/dev/zero of=/swapfile bs=1M count=4096  # 创建4GB(4096MB)交换文件

2. 设置文件权限

交换文件需严格限制访问权限,防止数据泄露:

sudo chmod 600 /swapfile  # 仅root用户可读写

3. 格式化为交换空间

将文件转换为交换格式:

sudo mkswap /swapfile     # 格式化命令

4. 启用交换文件

立即激活交换空间:

sudo swapon /swapfile     # 启用交换文件

5. 验证启用结果

确认交换空间已生效:

sudo swapon --show      # 查看启用的交换空间
# 或
cat /proc/swaps         # 查看交换空间详情
free -h                 # 查看内存与交换空间使用情况

6. 设置开机自动启用

编辑/etc/fstab文件,添加以下行(确保系统重启后自动启用):

sudo nano /etc/fstab    # 打开fstab文件

在文件末尾添加:

/swapfile none swap sw 0 0

保存并退出(Ctrl+OEnterCtrl+X)。


三、方法二:创建交换分区(适用于物理机,性能更优)

若系统有未分配的磁盘空间,可创建专用交换分区,性能优于交换文件。

1. 创建交换分区

使用fdisk工具操作(以/dev/sda为例):

sudo fdisk /dev/sda     # 启动fdisk工具

按以下步骤操作:

  • 输入n创建新分区;
  • 选择p创建主分区(或e创建扩展分区);
  • 选择分区号(如1);
  • 设置起始扇区(默认即可);
  • 设置结束扇区或大小(如+2G表示2GB);
  • 输入t更改分区类型,输入82(Linux swap类型);
  • 输入w保存并退出。

2. 格式化交换分区

将分区格式化为交换格式:

sudo mkswap /dev/sda1   # 替换为你的分区名称(如/dev/sda2)

3. 启用交换分区

激活分区:

sudo swapon /dev/sda1   # 替换为你的分区名称

4. 验证与自动启用

同方法一的步骤5、6(swapon --show验证,编辑/etc/fstab添加/dev/sdXY none swap sw 0 0)。


四、注意事项

  1. 交换空间大小建议
    • 物理内存≤4GB:交换空间为内存的1.5-2倍;
    • 物理内存>8GB:交换空间为内存的1-1.5倍(若需休眠功能,需等于物理内存大小)。
  2. 性能优化
    • 优先使用交换分区(性能优于交换文件);
    • 调整vm.swappiness参数(控制内核使用交换空间的频率,建议设为10-30):
      sudo sysctl vm.swappiness=10  # 临时生效
      echo "vm.swappiness=10" | sudo tee -a /etc/sysctl.conf  # 永久生效
      
  3. 安全提示
    • 修改/etc/fstab前建议备份(sudo cp /etc/fstab /etc/fstab.bak);
    • 云环境中,建议使用交换文件而非分区(避免分区操作导致系统无法启动)。

0