Linux 创建和增加 Swap 分区教程

有时候我们机器的内存不够时,就可以通过创建 Swap 分区来缓解这种尴尬场面,Linux 下的 Swap (交换分区)相当于 Windows 下的”虚拟内存”,当系统内存不够时,把一部分硬盘空间虚拟成内存使用,从而解决内存不够用的情况。下面介绍下 Linux 如何创建和增加 Swap 分区。

一、添加 Swap 分区

1.查看 Linux 当前分区情况:

free -m

如果是增加 swap 分区,则先把当前所有分区都关闭了:

swapoff -a

可能遇到的问题:《解决 swapoff failed: Cannot allocate memory 无法关闭分区的问题

2.创建要作为 Swap 分区文件(其中 /var/swapfile 是文件位置,bs*count 是文件大下,例如以下命令就会创建一个 4G 的文件):

dd if=/dev/zero of=/var/swapfile bs=1M count=4096

3.建立 Swap 的文件系统(格式化为 Swap 分区文件):

mkswap /var/swapfile

4.启用 Swap 分区:

swapon /var/swapfile

5.查看 Linux 当前分区:

free -m

如果有 Swap 就说明创建成功了:

Linux 查看 Swap 分区

6.设置开启启动,在 /etc/fstab 文件中加入一行代码:

/var/swapfile swap swap defaults 0 0

二、总结

虽然我给小内存的服务器都加了 Swap 分区,但是好像效果不明显,不知道是不是自己操作的问题,按道理“在系统内存不够时,把一部分硬盘空间虚拟成内存使用”应该能解决我内存不够用的情况,但往往不够用的时候好像还是卡,所以经济条件允许直接升级配置吧。

2021 年更新:

之前觉得 Swap 分区设置了用处不大,后来发现好像是 Swap 分区大小设置的问题。

那么 Swap 分区应该设置多大呢?在 Red Hat Enterprise Linux 中,以下是设置合适的交换分区大小的规则:

物理内存 交换分区(SWAP)

  1. <= 4g 至少 4G
  2. 4~16G 至少 8G
  3. 16G~64G 至少 16G
  4. 64G~256G 至少 32G

前后对比可以参考:《Linux 中交换空间 Swap 应该设置多大?与内存大小的关系整理

赞(0)
关注我们
未经允许不得转载:老王博客 » Linux 创建和增加 Swap 分区教程

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址