启动redis报错:WARNING you have Transparent Huge Pages (THP) support enabled in your kernel

急着解决问题的请点击     解决问题

发现问题
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 never >
/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.

找到问题

        温馨提醒 您的内核中启用了透明的大页面(THP)支持。这将创建与redis的延迟和内存使用问题。

思考问题 

        可以参考THP - yooooooo - 博客园 (cnblogs.com)

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

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

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

        自RHEL 6开始,THP都是默认打开的,很明显,问题是由于THP的启动导致,那么只需关闭它即可

解决问题

        请以root身份运行命令

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

        执行完毕后只是暂时解决 如果想要永久解决该问题需要进入/etc/rc.local 文件添加以上命令

# 回到初始目录下执行
sudo vim /etc/rc.local
# 进入编辑模式 然后在文件中新增命令 禁用THP
echo never > /sys/kernel/mm/transparent_hugepage/enabled

        在禁用THP之后,重新启动redis,就成功辣!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值