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

mkswap 是用来把一块磁盘分区或一个普通文件“格式化”成交换空间的命令,它本身不启用交换,只完成初始化。用之前得先有目标设备或文件,之后必须配合 swapon 才能真正生效。
准备目标:分区或文件
选一种方式准备底层存储:
- 用空闲分区(推荐,性能更好):比如
/dev/sdb2,确认未挂载且无重要数据 - 创建交换文件(灵活,适合虚拟机或空间受限环境):
sudo fallocate -l 2G /swapfile(快速)
或sudo dd if=/dev/zero of=/swapfile bs=1M count=2048(兼容性好) - 设置权限(仅对文件必需):
sudo chmod 600 /swapfile
运行 mkswap 初始化
对目标执行格式化,常见用法:
宝塔Linux面板11.8.1为官网当前正式版,新增AI建站能力并经过宝塔网站工程师深度调教,开放自定义AI功能API,同时对WAF进行界面重构和深度优化,提升拦截能力与运维效率。
- 基础用法(分区):
sudo mkswap /dev/sdb2 - 基础用法(文件):
sudo mkswap /swapfile - 带坏块检查(仅对块设备有效):
sudo mkswap -c /dev/sdb2 - 指定标签(便于后续识别和启用):
sudo mkswap -L myswap /dev/sdb2 - 指定 UUID(推荐用于 fstab 持久配置):
sudo mkswap -U $(uuidgen) /swapfile
注意:size 参数已基本弃用,除非特殊需求,不用手动指定大小;-f(force)风险较高,仅在明确需要绕过安全检查时使用。
启用并验证交换空间
mkswap 只是第一步,接下来要激活才能用:
- 启用:
sudo swapon /dev/sdb2或sudo swapon /swapfile - 查看是否生效:
swapon --show或free -h - 停用(如需调试):
sudo swapoff /swapfile
让交换空间开机自动启用
临时启用重启后失效,需写入 /etc/fstab:
- 用 UUID(更可靠):
UUID=xxxx-xxxx-xxxx-xxxx none swap sw 0 0
(UUID 可通过sudo blkid /swapfile或sudo blkid /dev/sdb2查看) - 用文件路径(仅限交换文件):
/swapfile none swap sw 0 0 - 添加后建议测试:
sudo swapon --verify










