Swap分区设置
一、Swap 分区介绍
Swap 分区是什么?Linux 中 Swap,类似于 Windows 的虚拟内存,就是当内存不足的时候,把一部分硬盘空间虚拟成内存使用,从而解决内存容量不足的情况。
Swap 分区的作用是什么?它的功能就是在内存不够的情况下,操作系统先把内存中暂时不用的数据,存到硬盘的交换空间,腾出内存来让别的程序运行
二、创建 Swap 分区步骤
我们可以用以下命令查看
free -m
如下图所示,Mem 表示内存大小(ram),Swap 则表示交换分区大小:
如果我们 Swap 分区设置的不合理(太小),并且VPS本身的物理内存也不够用,那么就会出现 Linux Swap 占用很高,甚至 Swap 分区全部占满的情况,一般来说,根据 Linux 内存的大小不同,我们可以按照下面的对应关系设置:
- 创建一个空文件。
其中/swapfile
是文件位置,bs*count
是文件大小,例如以下命令就会创建一个1G的文件:
dd if=/dev/zero of=/swapfile bs=1M count=1024
- 把文件设置为交换区
mkswap /swapfile
- 启用Swap分区
swapon /swapfile
如果提示 insecure permissions 0644, 0600 suggested. 要设置该文件的权限为600
chmod 600 /swapfile
再次查看 free -m
此时分配好的 Swap 已经启用了
- 设置系统启动时自动开启 Swap
vim /etc/fstab
在 fstab 文件最后一行添加下面的内容
/swapfile none swap sw 0 0
- 卸载 Swap
swapoff /swapfile
- 设置 swappiness 的值
swappiness 的值的大小对如何使用 Swap 分区是有着很大的联系的。swappiness=0 的时候表示最大限度使用物理内存,然后才是 Swap空间,swappiness=100 的时候表示积极的使用 Swap 分区,并且把内存上的数据及时的搬运到 Swap 空间里面。
查看 swappiness
cat /proc/sys/vm/swappiness
临时修改
sysctl vm.swappiness=10
永久修改
vim /etc/sysctl.conf
添加 vm.swappiness=10
然后保存就可以了。
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!