Linux 系统新增 Swap 分区实战指南
当物理内存吃紧时,动态扩容 Swap 是常见的应急手段。下面以 CentOS/RHEL 环境为例,演示如何安全地添加一块新的 Swap 分区,并确保重启后自动生效。
1. 确认当前状态
操作前先看一眼现状,避免重复分配。使用 free -m 查看内存与交换空间使用情况:
[root@localhost ~]# free -m
total used free shared buffers cached
Mem: 495 285 209 0 18 167
-/+ buffers/cache: 99 395
Swap: 2047 0 2047
2. 创建分区
假设我们要在 /dev/sda 上切分 1GB 空间。使用 fdisk 进入交互模式:
[root@localhost ~]# fdisk /dev/sda
...
Command (m for help): n
First cylinder (4112-7832, default 4112):
Using default value 4112
Last cylinder or +size or +sizeM or +sizeK (4112-7832, default 7832): +1G
...
Command (m for help): t
Partition number (1-6): 6
Hex code (type L to list codes): 82
Changed system type of partition 6 to 82 (Linux swap / Solaris)
...
Command (m for help): w
The partition table has been altered!
注意:如果提示'设备或资源忙',说明内核未立即识别,需执行下一步。分区类型 82 代表 Linux Swap,这是关键标识。
3. 刷新与格式化
让内核重新读取分区表:
[root@localhost ~]# partprobe
随后对新分区进行 Swap 初始化:
[root@localhost ~]# mkswap /dev/sda6
Setting up swapspace version 1, size = 1011671 kB
看到 Setting up swapspace version 1 即表示成功。
4. 即时启用
无需重启即可生效:
[root@localhost ~]# swapon /dev/sda6
[root@localhost ~]# free -m
Swap: 3012 0 3012
再次查看内存信息,Swap 总量应已增加。若需临时关闭,使用 swapoff /dev/sda6。
5. 配置开机自启
手动挂载重启后会失效,必须写入 /etc/fstab。编辑文件:
vim /etc/fstab
在末尾追加一行:
/dev/sda6 swap swap defaults 0 0
保存后,建议用 swapon -a 测试配置是否正确,再重启验证。

