首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何降低红宝石中的mem_fragmentation_ratio?

如何降低红宝石中的mem_fragmentation_ratio?
EN

Stack Overflow用户
提问于 2019-06-28 01:18:29
回答 1查看 1.2K关注 0票数 1

通过info命令,我得到

mem_fragmentation_ratio:1.24

这比1大。

我知道这意味着红色有一些可以释放的自由记忆。

我如何释放这个内存并降低这个比率?

我试过MEMORY PURGE,但是比率没有变化。

redis_version:4.0.9

代码语言:javascript
复制
# Memory
used_memory:8347302992
used_memory_human:7.77G
used_memory_rss:9236336640
used_memory_rss_human:8.60G
used_memory_peak:17919661152
used_memory_peak_human:16.69G
used_memory_peak_perc:46.58%
used_memory_overhead:519883816
used_memory_startup:1215600
used_memory_dataset:7827419176
used_memory_dataset_perc:93.79%
total_system_memory:270383198208
total_system_memory_human:251.81G
used_memory_lua:37888
used_memory_lua_human:37.00K
maxmemory:21474836480
maxmemory_human:20.00G
maxmemory_policy:noeviction
mem_fragmentation_ratio:1.11
mem_allocator:jemalloc-4.0.3
active_defrag_running:0
lazyfree_pending_objects:0
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-28 03:47:25

Redis对于释放未使用的内存不是很好。一般来说,红宝石会保留它在巅峰时消耗的所有内存。这通常不是一个问题,只要您的服务器有足够的内存来服务它。我可以从您的信息中看到,您的服务器有更多的内存比您正在积极使用的redis。

为了明确起见, command只使用jemalloc内存分配程序:

内存清除命令试图清除脏页,以便分配器可以回收这些页面。 此命令目前仅在使用jemalloc作为分配器时才实现,并对所有其他命令计算为良性的NOOP。

因此,如果您在windows或mac上运行redis,您可能无法使用MEMORY PURGE

一般情况下,我不会担心这样接近1的碎裂率。通常只有当碎片率低于1或远高于1(例如- 10或更多)时,才会出现问题。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56799931

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档