当前位置:   article > 正文

6、Redis内存碎片优化_redis: memory fragmentation ratio is too high (ove

redis: memory fragmentation ratio is too high (over 1.5 in 15m)

1、Redis内存碎片是如何形成的

一是内存分配器的分配策略,内存分配器一般是按固定大小来分配内存,而不是按实际使用大小来分配。例如8字节、16字节、32字节...,2KB,4KB,8KB等,按程序申请时最接近某个固定值。

二是Redis键值大小不一和删改操作,Redis申请内存分配空间时,本身就会有键值大小不一的空间需求,然后这些键值会被修改和删除,如修改变大或变小,就需要额外占用空间或释放不用的空间。Redis删除键值也会释放内存空间,形成空闲内存。

如图所示内存碎片形成: 

大量内存碎片的存在,会造成Redis内存利用率低。

2、如何判断内存碎片

Redis提供了INFO命令,可以利用INFO命令来查询:

  1. INFO memory
  2. # Memory
  3. used_memory:1024000000
  4. used_memory_human:1024.00M
  5. used_memory_rss:1998000000
  6. used_memory_rss_human:1.86G
  7. ...
  8. mem_fragmentation_ratio:1.86

mem_fragmentation_ratio 大于1小于1.5时,一般来说是合理的

 mem_fragmentation_ratio 大于1.5时,内存碎片率已经超过50%了,这个时候我们就要采取一些措施来降低内存碎片率了。

mem_fragmentation_ratio < 1 时,

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/寸_铁/article/detail/755791
推荐阅读
相关标签
  

闽ICP备14008679号