一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

Linux 中如何使用 mkswap 初始化交换空间

时间:2026-08-06 14:05:49 编辑:袖梨 来源:一聚教程网

mkswap是Linux中用于初始化磁盘分区或文件为交换空间的命令,仅完成格式化,需配合swapon启用;支持-c检查坏块、-L设标签、-U设UUID等选项,不指定size参数,默认使用整个设备或文件。

mkswap 是用来把一块磁盘分区或一个普通文件“格式化”成交换空间的命令,它本身不启用交换,只完成初始化。用之前得先有目标设备或文件,之后必须配合 swapon 才能真正生效。

准备目标:分区或文件

选一种方式准备底层存储:

  1. 用空闲分区(推荐,性能更好):比如 /dev/sdb2,确认未挂载且无重要数据
  2. 创建交换文件(灵活,适合虚拟机或空间受限环境):

    sudo fallocate -l 2G /swapfile(快速)

    sudo dd if=/dev/zero of=/swapfile bs=1M count=2048(兼容性好)

  3. 设置权限(仅对文件必需):sudo chmod 600 /swapfile

运行 mkswap 初始化

对目标执行格式化,常见用法:

  1. 基础用法(分区):sudo mkswap /dev/sdb2
  2. 基础用法(文件):sudo mkswap /swapfile
  3. 带坏块检查(仅对块设备有效):sudo mkswap -c /dev/sdb2
  4. 指定标签(便于后续识别和启用):sudo mkswap -L myswap /dev/sdb2
  5. 指定 UUID(推荐用于 fstab 持久配置):sudo mkswap -U $(uuidgen) /swapfile

注意:size 参数已基本弃用,除非特殊需求,不用手动指定大小;-f(force)风险较高,仅在明确需要绕过安全检查时使用。

启用并验证交换空间

mkswap 只是第一步,接下来要激活才能用:

  1. 启用:sudo swapon /dev/sdb2sudo swapon /swapfile
  2. 查看是否生效:swapon --showfree -h
  3. 停用(如需调试):sudo swapoff /swapfile

让交换空间开机自动启用

临时启用重启后失效,需写入 /etc/fstab

  1. 用 UUID(更可靠):

    UUID=xxxx-xxxx-xxxx-xxxx none swap sw 0 0

    (UUID 可通过 sudo blkid /swapfilesudo blkid /dev/sdb2 查看)

  2. 用文件路径(仅限交换文件):

    /swapfile none swap sw 0 0

  3. 添加后建议测试:sudo swapon --verify

热门栏目