​在Ubuntu中调整Swap空间

Swap(交换空间)是 Linux 系统在物理内存(RAM)不足时使用的磁盘空间,用于防止内存耗尽导致系统崩溃。如果你的 Ubuntu 系统默认 Swap 太小(例如只有 1GB),而你想扩展至 2GB 或更大,可以按照本教程进行操作。


1. 检查当前 Swap 状态

在调整 Swap 之前,先查看当前 Swap 的使用情况:

sudo swapon --show  # 查看已激活的 Swap
free -h             # 查看内存和 Swap 使用情况

输出示例:

NAME      TYPE SIZE USED PRIO
/swapfile file 1G   0B   -2

如果 Swap 太小(如 1GB),可以扩展或创建新的 Swap 文件。


2. 方法一:创建新的 Swap 文件(推荐)​

步骤 1:关闭现有 Swap(如果已启用)​

sudo swapoff /swapfile  # 如果已有 /swapfile

步骤 2:创建新的 Swap 文件(2GB)​

sudo fallocate -l 2G /swapfile  # 推荐方式

如果 fallocate 不可用,改用 dd

sudo dd if=/dev/zero of=/swapfile bs=1M count=2048

步骤 3:设置权限

sudo chmod 600 /swapfile  # 仅 root 可读写

步骤 4:格式化为 Swap

sudo mkswap /swapfile

步骤 5:启用 Swap

sudo swapon /swapfile

步骤 6:永久生效(编辑 /etc/fstab)​

echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

验证

free -h  # 检查 Swap 是否变为 2GB

3. 方法二:调整现有 Swap 文件大小

如果已有 Swap 文件,可以删除并重建:

sudo swapoff /swapfile  # 关闭 Swap
sudo rm /swapfile       # 删除旧文件

然后按照 ​方法一​ 重新创建 2GB Swap 文件。


4. 如何创建多个 Swap 文件?​

如果你需要 ​多个 Swap 文件​(例如 /swapfile1 和 /swapfile2),可以:

  1. 创建并启用多个 Swap 文件​:sudo fallocate -l 1G /swapfile1 sudo chmod 600 /swapfile1 sudo mkswap /swapfile1 sudo swapon /swapfile1sudo fallocate -l 1G /swapfile2 sudo chmod 600 /swapfile2 sudo mkswap /swapfile2 sudo swapon /swapfile2
  2. 在 /etc/fstab 中添加两行​:/swapfile1 none swap sw 0 0 /swapfile2 none swap sw 0 0
  3. 验证​:swapon --show # 查看所有 Swap 文件 free -h # 检查总 Swap 大小

5. 优化 Swap 性能(可选)​

调整 swappiness(减少 Swap 使用频率)​

echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
  • ​**10**​ 表示尽量少用 Swap(适用于 SSD)。
  • 默认值​ 通常是 60(适用于 HDD)。

6. 常见问题

Q1: fallocate 失败怎么办?​

改用 dd 命令:

sudo dd if=/dev/zero of=/swapfile bs=1M count=2048

Q2: /etc/fstab 里的 sw 是什么意思?​

  • sw 表示 ​swap,即该文件用于 Swap 空间。
  • none 表示 ​不挂载到目录​(Swap 不需要挂载点)。

Q3: 如何删除多余的 Swap 文件?​

sudo swapoff /swapfile2  # 关闭 Swap
sudo rm /swapfile2       # 删除文件

然后从 /etc/fstab 删除对应行。


7. 总结

操作 命令
查看 Swap free -h / swapon --show
创建 Swap sudo fallocate -l 2G /swapfile
启用 Swap sudo swapon /swapfile
永久生效 编辑 /etc/fstab
多个 Swap 创建多个文件并在 /etc/fstab 添加多行
优化性能 调整 vm.swappiness

通过本教程,你可以轻松调整 Ubuntu 的 Swap 空间,提高系统稳定性。如果有问题,欢迎在评论区讨论! 🚀

正文完
 0
评论(没有评论)
验证码