最近VPS GO给几台Linux VPS创建了一些Swap分区,效果还不错,内存占用率明显降低了不少,所以今天记录下Linux创建Swap分区的过程,包括关闭Swap分区、创建Linux Swap文件、创建Swap分区等常见Linux Swap设置。
一、Swap分区介绍
Swap分区是什么?Linux中Swap(即:交换分区),类似于Windows的虚拟内存,就是当内存不足的时候,把一部分硬盘空间虚拟成内存使用,从而解决内存容量不足的情况。
Swap分区的作用是什么?它的功能就是在内存不够的情况下,操作系统先把内存中暂时不用的数据,存到硬盘的交换空间,腾出内存来让别的程序运行
二、创建Swap分区步骤
我们可以用以下命令查看
free -m
如下图所示,Mem表示内存大小(ram),Swap则表示交换分区大小:
如果我们Swap分区设置的不合理(太小),并且VPS本身的物理内存也不够用,那么就会出现Linux Swap占用很高,甚至Swap分区全部占满的情况,一般来说,根据Linux内存的大小不同,我们可以按照下面的对应关系设置Swap分区大小:
- 内存 <= 4g:Swap 至少 4G
- 内存 4~16G:Swap 至少 8G
- 内存 16G~64G:Swap 至少 16G
- 内存 64G~256G:Swap 至少 32G
下面就介绍下Linux VPS创建/增加Swap分区的步骤。
1、关闭Swap分区
首先先关闭Swap分区,将默认的Swap分区清空:
swapoff -a
如果你只是打算关闭Swap分区,那么就直接跳到第6步修改开机启动项即可。
2、创建要Swap分区文件
其中/var/swapfile
是文件位置,bs*count
是文件大下,例如以下命令就会创建一个4G的文件:
dd if=/dev/zero of=/var/swapfile bs=1M count=4096
3、格式化为Swap分区文件
mkswap /var/swapfile
4、启用Swap分区
swapon /var/swapfile
5、查看新的分区
free -m
如下图所示,4G的Swap分区就创建成功了:
6、设置开机启动
最后就是增加开机启动了,只需要在/etc/fstab
这个文件里增加这一行代码即可(如果你不会在Linux上编辑文件,可以参考:《Linux下使用vim编辑以及新建文件》):
/var/swapfile swap swap defaults 0 0
如下图所示:
三、Swap分区作用
这里给大家看下Swap分区的作用,最开始这台VPS默认是2GB内存+2GB Swap,结果内存占用很高,Swap直接就是占满了,再修改成4GB的Swap后,跑同样的进程,内存占用低了些,Swap分区则根本没用到: