在 Linux 中,开启 Swap

开启Swap步骤

在 Linux 中,开启 Swap(交换分区或交换文件)可以通过以下几个步骤完成,具体取决于是使用已有的 swap 分区,还是创建新的 swap 文件。以下是最常见的 开启 swap 文件 的方法:


✅ 一、使用命令创建并启用 Swap 文件

步骤 1:创建 swap 文件

sudo fallocate -l 2G /swapfile   # 创建一个2GB的swap文件

如果 fallocate 不可用,也可使用 dd

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

步骤 2:设置文件权限(必须,安全性要求)

sudo chmod 600 /swapfile

步骤 3:格式化为 swap 区

sudo mkswap /swapfile

步骤 4:启用 swap

sudo swapon /swapfile

步骤 5:设置开机自动挂载

编辑 /etc/fstab 文件,添加以下一行:

/swapfile swap swap defaults 0 0

✅ 二、启用已有的 Swap 分区或设备

如果你的系统中已经有 swap 分区,例如 /dev/sdX/dev/nvmeXnXpX,使用如下命令启用:

sudo swapon /dev/sdX

✅ 三、查看 Swap 状态

free -h               # 显示内存和 swap 使用情况
swapon --show         # 显示当前启用的 swap 信息
cat /proc/swaps       # 另一个查看方式

✅ 四、禁用 Swap(如需)

sudo swapoff /swapfile       # 关闭 swap 文件
sudo swapoff /dev/sdX        # 关闭 swap 分区

在这里插入图片描述


如需我帮助你编写自动化脚本或配置多台机器上的 Swap 设置,也可以继续告诉我需求。

检查配置

你遇到的错误说明当前系统使用的 mount 命令版本(通常是 util-linux 提供的)不支持 --dry-run 选项,这是一些旧版本(尤其是某些精简发行版如 CentOS 7、部分嵌入式系统)中的常见情况。


✅ 替代方案:如何在不支持 --dry-run 的系统中检查 /etc/fstab

方法一:使用 findmnt --verify --fstab(强烈推荐)

sudo findmnt --verify --fstab

这条命令能:

  • 检查 /etc/fstab 的语法格式是否正确;
  • 验证设备是否存在;
  • 检查挂载点目录是否存在。

⚠️ 如果你系统未安装 findmnt,可以安装它(通常是 util-linux 包):

# Debian/Ubuntu
sudo apt install util-linux

# CentOS/RHEL
sudo yum install util-linux

方法二:使用 mount -f 模拟挂载某一条记录

虽然 mount -a 没有 dry-run 模式,但你可以对单个挂载点进行“伪挂载”测试:

sudo mount -f /your/mount/point
  • -f 表示“假装挂载”,不会实际操作设备。
  • 这只对某一条 fstab 记录生效(必须确保对应挂载点已经存在)。

方法三:先不执行 mount -a,而是人工检查每一条配置

例如:

cat /etc/fstab

确保每一行都符合格式:

<device>  <mount_point>  <fs_type>  <options>  <dump>  <pass>

并验证:

  • <device> 是否存在(用 lsblkblkid 检查)
  • <mount_point> 是否存在(用 ls 检查)
  • <fs_type> 是否正确(如 ext4, xfs, swap 等)
  • <options> 合法(如 defaults, noatime 等)

示例 fstab 条目验证流程:

假设你有这一行:

/dev/sdb1   /mnt/data   ext4   defaults   0  2

你可以手动验证:

lsblk | grep sdb1               # 检查设备是否存在
sudo file -s /dev/sdb1          # 查看是否真的是 ext4
ls -ld /mnt/data                # 挂载目录是否存在
sudo mount -f /mnt/data         # 模拟挂载

需要我帮你逐行检查 fstab 内容?你可以贴出内容,我会帮你分析是否有误。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值