linux 内存 thp,操作系统内存大页(THP)对redis性能的影响

redis启动日志的warning:

WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo madvise > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled (set to 'madvise' or 'never').

THP

内存大页机制(Transport Huge Pages,THP),是linux2.6.38后支持的功能,该功能支持2MB的大爷内存分配,默认开启。常规的内存分配为4KB维度。

THP对redis的影响

THP能减少内存分配的次数,同时可以加快子进程的fork速度。

但是redis采用了写时复制机制,一旦有数据要修改,redis不会直接修改内存数据,而是copy一份这个数据,然后进行修改,DOUBLE了。

在THP开启的情况下,如果就算只有2KB的数据,Redis也需要复制2MB的内存大页,而在常规情况下,只需要复制4KB的内存页,使得每次写命令引起的复制内存页的单位放大了512倍,这会拖慢写操作的执行时间,导致大于写操作慢查询,最终影响redis的性能。

所有在redis服务器需要关闭linux的THP

关闭THP

echo never > /sys/kernel/mm/transparent_hugepage/enabled

ca85c64dbe0f6d2eb447f810c8d713ae.png

再次启动redis发现文章开始的waring已经不见了。

内容来源于网络如有侵权请私信删除

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值