mkswap 命令 #
mkswap
命令用于在设备或文件上设置 Linux 交换区。交换区是系统在物理内存不足时用于临时存储数据的磁盘空间。
语法 #
mkswap [选项] 设备 [大小]
主要选项 #
选项 | 说明 |
---|---|
-c, --check |
在设置交换区前检查坏块 |
-f, --force |
强制执行,即使设备已经有交换区或其他文件系统 |
-L, --label=标签 |
指定交换区标签 |
-p, --pagesize=大小 |
指定页大小(以字节为单位) |
-U, --uuid=UUID |
指定要使用的 UUID |
-v, --swapversion=版本号 |
指定交换区版本号 |
-h, --help |
显示帮助信息 |
-V, --version |
显示版本信息 |
常见用法 #
1. 在分区上创建交换区 #
mkswap /dev/sdb1
2. 在分区上创建带标签的交换区 #
mkswap -L "SWAP" /dev/sdb1
3. 在文件上创建交换区 #
首先创建一个固定大小的文件:
dd if=/dev/zero of=/swapfile bs=1M count=1024
chmod 600 /swapfile
然后将其设置为交换区:
mkswap /swapfile
4. 指定 UUID #
mkswap -U 4209c845-f0b1-4f04-8453-939f01774527 /dev/sdb1
5. 检查坏块并创建交换区 #
mkswap -c /dev/sdb1
激活交换区 #
创建交换区后,需要使用 swapon
命令激活它:
swapon /dev/sdb1
或者对于交换文件:
swapon /swapfile
开机自动挂载交换区 #
要使交换区在系统启动时自动激活,需要将其添加到 /etc/fstab
文件中:
对于交换分区:
/dev/sdb1 none swap sw 0 0
对于交换文件:
/swapfile none swap sw 0 0
注意事项 #
- 创建交换区会清除设备或文件上的所有数据
- 交换区大小应根据系统内存和工作负载来确定,通常为物理内存的 1-2 倍
- 交换文件的权限应设置为 600,以防止其他用户访问其中可能包含的敏感信息
- 在 SSD 上创建交换区可能会增加磁盘写入量,影响 SSD 寿命
- 多个交换区可以同时激活,系统会根据优先级使用它们