首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Redis 5(使用Jemalloc分配程序)中,是否存在活动碎片被禁用的情况?

在Redis 5(使用Jemalloc分配程序)中,是否存在活动碎片被禁用的情况?
EN

Server Fault用户
提问于 2019-06-17 22:47:17
回答 1查看 2K关注 0票数 0

Redis 4添加了活动内存碎片整理(来源:发布说明):

活动内存碎片整理。如果使用Jemalloc分配器(Linux上的默认设置),Redis可以在联机时对内存进行碎片整理。对于分配程序无法将碎片保持在足够低的工作负载,唯一的可能是Redis和分配器进行协作,以便对内存进行碎片整理。

在Redis 5中,这个特性(现在称为版本2)已经得到改进:

来源1:Redis主要开发者塞尔瓦托·桑菲利波发的推特

激活碎片整理版本2.整理正在运行的服务器的内存是一种黑魔法,但奥兰·阿格拉改进了他过去的努力,现在它比以前更有效了。对于长期运行的工作负载来说非常有用,因为这些工作负载往往会将Jemalloc碎片化。

来源2:AWS发布Redis 5

上一次发布的亮点之一是Redis获得了在线时整理内存的能力。它的工作方式非常聪明: Redis扫描键空间,对于每个指针,询问分配器是否将其移动到一个新地址是否有助于减少碎片。这个版本附带了所谓的活动碎片整理2( active defrag 2):它更快、更智能,而且延迟更小。此特性对于分配程序无法保持碎片足够低的工作负载特别有用,因此策略是由Redis和分配器协同工作。为此,必须使用Jemalloc分配器。幸运的是,它是Linux上的默认分配器。

问:假设您已经在使用Jemalloc,有什么理由不总是设置activedefrag yes呢?

考虑到另一种选择是重新启动实例来处理碎片(这是非常有问题的),并且鉴于activedefrag的开销似乎比我到目前为止看到的要低,因此该选项似乎非常有用,无法默认禁用。

或者有什么情况会损害性能?

EN

回答 1

Server Fault用户

回答已采纳

发布于 2019-06-18 11:39:04

当然,有源碎片整理的性能成本很高,但几乎总是可以忽略不计的。虽然在OSS发行版中默认禁用它,但我们(Redis实验室)已经在生产中使用了很长时间;)

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

https://serverfault.com/questions/971804

复制
相关文章

相似问题

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