Linux添加swap及修改swappiness参数

发布于 2020-07-30  260 次阅读


在Linux内存不够的时候,swap是个好东西,他能够将一部分暂时不需要的内存暂时转移到硬盘中,这跟Windows下的虚拟内存是一个道理,swappiness则是Linux下控制swap使用积极程度的一个参数,下面会具体讲到。本文就来讲讲Linux下如何添加swap以及swappiness参数的修改。

在Linux中,可以通过 free -m查看当前的内存的使用情况,得到类似如下结果:

其中的Swap就是当前的Swap使用情况,这里暂时没有Swap所以是0。

添加swap

1.切换root用户

2.使用dd命令创建一个分区

得到如下结果:

命令里面的count是指大小,单位是M,这里以1G为例,1G=1024M,所以count=1024

Swap的大小可根据实际情况进行调整,一般情况下如果本身内存小于2G,则Swap建议大小为内存的2倍,如果大于2G小于8G,则Swap与自身内存大小相等,大于8G的话固定4G的Swap(以上说法来自RedHat),当然具体多少根据实际情况而定。

3.修改权限

如果不修改权限的话接下来可能会报错 insecure permissions 0644, 0600 suggested.

4.将分区转化为swap格式

结果如下:

5.使swap生效

6.将swap设置为 开机启用

修改 /etc/fstab 文件,文件末尾加入如下信息:

这一步如果不会的话可以自己搜索一下VI/VIM文件编辑器的用法,此处不细讲。

7.查看是否成功

reboot 重启,然后 free -m 查看swap时候开启成功

如果已经成功则会得到类似如下结果:

8.假如不成功,删除 /home/swap分区,重新开始

修改swappiness参数

swappiness参数主要用于调整系统使用swap的积极程度,大小为0-100,数字越大代表swap的使用越积极。假如swappiness的值为60,意味着系统在剩余物理内存低于40%(40=100-60)时开始使用swap,不同的系统默认的swappiness值不同,可以通过 cat /proc/sys/vm/swappiness 查看当前的swappiness。

如果需要临时修改swappiness参数,可以使用 sysctl vm.swappiness=10 将swappiness修改为想要的数值(此处为10),重启后失效。

假如需要永久修改,则需在 /etc/sysctl.conf 添加如下参数(此处修改为10):

同样如果这一步不会的话可自行搜索VI/VIM等文本编辑器的用法 。

修改完成后使用 sysctl -p 命令激活设置或重启即可。

End.

 

 


emmmmmmm