swap大小设置规则

swap:内存置换空间(swap 的功能就是在应付物理内存不足的情况下所造成的内存延伸记录的功能。

#Redhat官方建议如下:

物理内存小于等于2GB的swap应设置为物理内存的2倍
物理内存大于2GB小于等于8G时swap应设置为等同与物理内存的大小
物理内存大于8GB时swap应设置为大于等于4GB但不超过8GB。

实际上,系统中交换分区的大小并不取决于物理内存的量,而是取决于系统中内存的负荷,所以在安装系统时要根据具体的业务来设置SWAP的值。

系统SWAP什么时候使用是由swappiness 参数值控制。
swappiness参数的含义:
swappiness是Linux的一个内核参数,控制系统在进行swap时,内存使用的相对权重。

swappiness参数值可设置范围在0到100之间。 此参数值越低,就会让Linux系统尽量少用swap分区,多用内存;参数值越高就是反过来,使内核更多的去使用swap空间。Ubuntu系统swappiness默认值为60,表示的含义可以这样来理解,当剩余物理内存低于40%(40=100-60)时,开始使用swap分区。CentOS系统此参数的默认值是30。我个人喜欢将作为服务器的Linux系统的swappiness参数设置为10。设置为100可能会影响整体性能,如果内存充足,就可以将这个值设置很低,甚至为0,以避免系统进行swap而影响性能(swap是存在磁盘上的,磁盘的速度和内存相比慢了好几个数量级)。

cat /proc/sys/vm/swappiness
30
该值在centos 7上默认值是30,意味着当物理内存超过70%就开始使用swap分区(在Centos 6上是60)。
swappiness=0的时候表示最大限度使用物理内存,然后才是 swap空间,
swappiness=100的时候表示积极的使用swap分区,并且把内存上的数据及时的搬运到swap空间里面。

现在服务器的内存动不动就是上百G,所以我们可以把这个参数值设置的低一些,让操作系统尽可能的使用物理内存,降低系统对swap的使用,从而提高系统的性能。特别是对于性能要求较高的数据库服务器,要求全部使用内存。


使用free命令即可查看系统的SWAP。

修改swappiness参数

临时性修改:
sysctl vm.swappiness=10
vm.swappiness = 10

cat /proc/sys/vm/swappiness
10

永久修改:
在/etc/sysctl.conf 文件里添加如下参数:
vm.swappiness=10

最后重启系统:

reboot

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

虔旅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值