0
点赞
收藏
分享

微信扫一扫

redis内存分配器

redis内存分配器_数据库

Redis在编译时便会指定内存分配器,包括libc 、jemalloc或者tcmalloc, 默认是jemalloc。

jemalloc的优势体现在减小内存碎片方面。

jemalloc 在 64 位系统中,将内存空间划分为小、大、巨大三个范围;每个范围内又划分了许多小的内存块单位;当 Redis 存储数据时,会选择大小最合适的内存块进行存储。

redis内存分配器_数据库_02

size单位是字节。

内存碎片率

mem_fragmentation_ratio=used_memory_rss (Redis进程占据操作系统的内存(单位是字节))/ used_memory(Redis分配器分配的内存总量(单位是字节)).

如果内存碎片率过高(jemalloc在1.03左右比较正常),说明内存碎片多,内存浪费严重;这时便可以考虑重启redis服务,在内存中对数据进行重排,减少内存碎片。redis内存分配器_内存碎片_03

举报

相关推荐

0 条评论