Linux:使用 dd、mkswap 和 swapon 添加交换分区的方法
我想为我的 Linux 系统添加更多交换分区。你能用清晰的例子解释如何增加交换分区吗?
您可以使用专用硬盘分区来添加新的交换分区,也可以在现有文件系统上创建交换文件并将其用作交换分区。
系统当前使用了多少交换分区?
Free 命令显示交换分区。free -k 以 KB 显示输出。
# free -k
total used free shared buffers cached
Mem: 3082356 2043700 1038656 0 50976 1646268
-/+ buffers/cache: 346456 2735900
Swap: 4192956 0 4192956
带有选项 -s 的 Swapon 命令以 KB 显示当前交换分区。
# swapon -s
Filename Type Size Used Priority
/dev/sda2 partition 4192956 0 -1
Swapon -s,与以下相同。
# cat /proc/swaps
Filename Type Size Used Priority
/dev/sda2 partition 4192956 0 -1
方法 1:使用硬盘分区获得额外的交换分区
如果您有额外的硬盘(或现有磁盘中的可用空间),请使用 fdisk 命令创建一个分区。让我们假设这个分区被称为 /dev/sdc1
现在使用 mkswap 命令将这个新创建的分区设置为交换区,如下所示。
# mkswap /dev/sdc1
使用 swapon 命令启用交换分区以供使用,如下所示。
# swapon /dev/sdc1
要使此交换空间分区即使在重新启动后也可用,请将以下行添加到 /etc/fstab 文件中。
# cat /etc/fstab
/dev/sdc1 swap swap defaults 0 0
验证新创建的交换区是否可供您使用。
# swapon -s
Filename Type Size Used Priority
/dev/sda2 partition 4192956 0 -1
/dev/sdc1 partition 1048568 0 -2
# free -k
total used free shared buffers cached
Mem: 3082356 3022364 59992 0 52056 2646472
-/+ buffers/cache: 323836 2758520
Swap: 5241524 0 5241524
注意:在 swapon -s 命令的输出中,如果交换空间是从磁盘分区创建的,则 Type 列将显示“partition”。
方法 2:使用文件获取额外的交换分区
如果您没有任何额外的磁盘,您可以在文件系统的某处创建一个文件,并将该文件用作交换空间。
以下 dd 命令示例在 /root 目录下创建一个名为“myswapfile”的交换文件,大小为 1024MB (1GB)。
# dd if=/dev/zero of=/root/myswapfile bs=1M count=1024
1024+0 records in
1024+0 records out
# ls -l /root/myswapfile
-rw-r--r-- 1 root root 1073741824 Aug 14 23:47 /root/myswapfile
更改交换文件的权限,以便只有 root 可以访问它。
# chmod 600 /root/myswapfile
使用 mkswap 命令将此文件作为交换文件。
# mkswap /root/myswapfile
Setting up swapspace version 1, size = 1073737 kB
启用新创建的交换文件。
# swapon /root/myswapfile
要使此交换文件即使在重新启动后也可用作交换区域,请将以下行添加到 /etc/fstab 文件中。
# cat /etc/fstab
/root/myswapfile swap swap defaults 0 0
验证新创建的交换区是否可供您使用。
# swapon -s
Filename Type Size Used Priority
/dev/sda2 partition 4192956 0 -1
/root/myswapfile file 1048568 0 -2
# free -k
total used free shared buffers cached
Mem: 3082356 3022364 59992 0 52056 2646472
-/+ buffers/cache: 323836 2758520
Swap: 5241524 0 5241524
注意:在 swapon -s 命令的输出中,如果交换空间是从交换文件创建的,则类型列将显示“文件”。
如果您不想重新启动来验证系统是否占用了 /etc/fstab 中提到的所有交换空间,您可以执行以下操作,这将禁用和启用 /etc/fstab 中提到的所有交换分区
# swapoff -a
# swapon -a
- 点赞
- 收藏
- 关注作者
评论(0)