博客主页看看是李XX还是李歘歘每天不定期分享一些包括但不限于计算机基础、算法、后端开发相关的知识点看看是李XX还是李歘歘 每天不定期分享一些包括但不限于计算机基础、算法
每天不定期分享一些包括但不限于计算机基础、算法、后端开发相关的知识点以及职场小菜鸡的生活。
点关注不迷路总有一些知识点是你想要的
⛽️今天的内容是 redis内存分配器 ⛽️
Redis在编译时便会指定内存分配器包括libc 、jemalloc或者tcmalloc 默认是jemalloc。
jemalloc的优势体现在减小内存碎片方面。
jemalloc 在 64 位系统中将内存空间划分为小、大、巨大三个范围每个范围内又划分了许多小的内存块单位当 Redis 存储数据时会选择大小最合适的内存块进行存储。
size单位是字节。
内存碎片率
mem_fragmentation_ratioused_memory_rss (Redis进程占据操作系统的内存单位是字节)/ used_memory(Redis分配器分配的内存总量单位是字节).
如果内存碎片率过高jemalloc在1.03左右比较正常说明内存碎片多内存浪费严重这时便可以考虑重启redis服务在内存中对数据进行重排减少内存碎片。
参考
Redis的内存和实现机制 - JonPan - 博客园 (cnblogs.com)
【本文由:阜宁网页设计 http://www.1234xp.com/funing.html 网络转载请说明出处】