网易首页 > 网易号 > 正文 申请入驻

etcd 内存暴涨 10GB 的原因分析:Raft Log 与 B-tree 索引的内存开销

0
分享至

为什么绕不开 etcd内存到底被谁吃了我们踩的到底是哪个坑解决方案其实很简单用 etcd 的几条实操建议

前几天有个朋友跟我吐槽,说他们网关服务跑着跑着内存飙到 10GB+,还死活降不下来。查了一圈,锅全在 etcd 身上。今天就把这个坑拆开讲讲,顺便把 etcd 那些吃内存的设计一次说清楚,免得你以后踩同样的雷。

先说说背景。任何分布式系统,都得有个强一致性的组件来选主、同步配置。比如 Kubernetes 靠 etcd 组集群,Kafka 早期靠 Zookeeper,后来干脆内置了选主算法把它甩掉了。etcd 是 Go 社区的主力,也是 K8s 的关键组件,基本绕不开。

我们做的 API 网关 Easegress,一开始用 gossip 协议同步状态,后来发现太复杂、太难调试,三年前换成了内嵌版 etcd,把所有配置、统计监控数据、用户自定义数据全塞进去。数据量其实不大,感觉连 10MB 都不到——但内存就是莫名其妙涨到了 10GB,你说气不气人。

把 etcd 的设计翻了一遍之后,发现它至少有四个吃内存的地方,而且个个都是"为了性能"的设计。

第一个,也是最狠的:Raft Log。etcd 用 Raft Log 帮 follower 同步数据,但这玩意儿不是落盘的,是常驻内存的,而且硬编码至少保留 5000 条最新请求。你想想,如果 key 很大,比如一个 key 有 1MB,不断更新它,5000 条 Log 就是 5000MB,5GB 就这么没了。这个 5000 还是写死的,改不了。

第二个,B-tree 索引。etcd 每一对 key-value 都会在内存里建一个 B-tree 索引,跟 key 的长度、历史版本数量都有关系,key 越大、版本越多,内存越肥。

第三个,mmap。etcd 用 mmap 做文件映射,把底层 boltdb 直接映射到虚拟内存里,db 文件越大,内存占用越大。

第四个,Watcher。watch 多、连接数多,内存也会往上堆。

回到 Easegress 的场景:用户配了上千条 pipeline,每条 pipeline 都要统计 M1、M5、P99 这些指标,统计信息大概 1-2KB。我们把这些统计数据合并写到一个 key 里,一千多条合并完,这个 key 平均 2MB。

然后问题就来了:2MB 的 key × 5000 条 Raft Log = 10GB 内存。之前 pipeline 少没暴露,这次上千条直接爆了。

没动 etcd,改的是自己的写法:把大 key 拆成多个小 key 写。数据总量没变,但每条 Raft Log 从 2MB 降到 1KB,内存直接从 10GB 干到 500MB。

说白了,etcd 本身没泄漏,是我们往里面塞了大 value,踩中了它内存级 Raft Log 的设计。

第一,避免大尺寸的 key 和 value,这是最要命的,Raft Log 和 B-tree 索引都会因此爆炸。

第二,控制 db 体积,定期做 compact 和 defrag,压缩加碎片整理,能降内存。

第三,别开太多 Watch,Watch 客户端和连接数都是内存大户。

第四,能用新版本就用新版本。比如 Go 1.12 用的 MADV_FREE 内存回收,进程标记释放但 RSS 不降,看着像泄漏;Go 1.16 改成 MADV_DONTNEED 立刻回收就好了。etcd 3.4 还是用 1.12 编译的,这种坑防不胜防。

你在项目里遇到过 etcd 内存飙升吗?是怎么定位解决的?评论区聊聊,说不定你的经验能救一个正在加班的人。

声明:内容由AI生成

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
尼泊尔泥石流已致1118人死亡 4858人失联

尼泊尔泥石流已致1118人死亡 4858人失联

新京报
2026-09-02 13:55:08
尼泊尔“喜马拉雅门户”:全村90%房屋被埋、逾八成居民失联

尼泊尔“喜马拉雅门户”:全村90%房屋被埋、逾八成居民失联

红星新闻
2026-09-02 17:03:06
吃相难看!王新军去世仅1天,荒谬一幕出现,秦海璐也被牵连

吃相难看!王新军去世仅1天,荒谬一幕出现,秦海璐也被牵连

林轻吟
2026-09-02 19:33:26
中国1票否决19国,中方不惯着特朗普,拒签联合声明不买这笔账

中国1票否决19国,中方不惯着特朗普,拒签联合声明不买这笔账

影孖看世界
2026-09-02 15:13:21
揪心!西藏吉隆口岸被抹平,已发现:失联人员被深埋在巨石淤泥下

揪心!西藏吉隆口岸被抹平,已发现:失联人员被深埋在巨石淤泥下

胡侃社会百态
2026-09-02 12:56:20
体坛大乱!国羽高层被一锅端,刘国梁被带走?唯独蔡振华全身而退

体坛大乱!国羽高层被一锅端,刘国梁被带走?唯独蔡振华全身而退

林子说事
2026-09-02 12:21:47
29.99万!小米新车官宣:9月7日,正式上市!

29.99万!小米新车官宣:9月7日,正式上市!

科技堡垒
2026-09-02 15:44:55
赵心童4-2淘汰威尔斯,晋级斯诺克英国公开赛第三轮

赵心童4-2淘汰威尔斯,晋级斯诺克英国公开赛第三轮

侧身凌空斩
2026-09-02 23:56:40
击中了!伊朗早就该这么打了!

击中了!伊朗早就该这么打了!

故事终将光明磊落
2026-09-02 19:52:53
2-4!英国公开赛爆大冷:卫冕冠军墨菲止步64强!7位世界冠军出局

2-4!英国公开赛爆大冷:卫冕冠军墨菲止步64强!7位世界冠军出局

球场没跑道
2026-09-02 22:46:46
普京:希望结束战争而非临时冻结,俄方随时准备与任何愿意参与谈判的人进行谈判

普京:希望结束战争而非临时冻结,俄方随时准备与任何愿意参与谈判的人进行谈判

每日经济新闻
2026-09-02 21:47:42
中纪委再次重拳出击!这4个领域将被严查,这4种行为将被严肃处理

中纪委再次重拳出击!这4个领域将被严查,这4种行为将被严肃处理

细说职场
2026-09-02 19:22:46
极目深度 最后一茬西瓜终于卖完了,河南瓜农面临“选择困难症”:明年继续种瓜,还是改种别的?

极目深度 最后一茬西瓜终于卖完了,河南瓜农面临“选择困难症”:明年继续种瓜,还是改种别的?

极目新闻
2026-09-02 19:26:26
有没有发现一个现象:中国对日本友好时,日本媒体渲染中国威胁论!现在因高市早苗的言论,中国出口威胁到日本的各行各业时,媒体都不吱声

有没有发现一个现象:中国对日本友好时,日本媒体渲染中国威胁论!现在因高市早苗的言论,中国出口威胁到日本的各行各业时,媒体都不吱声

与笑相拥m
2026-09-02 15:45:32
苹果官方账号已取关库克,仅关注现任CEO特努斯1人

苹果官方账号已取关库克,仅关注现任CEO特努斯1人

极目新闻
2026-09-02 19:53:46
外阴黏膜干枯、萎缩,甚至影响排尿!

外阴黏膜干枯、萎缩,甚至影响排尿!

医学界妇产科频道
2026-09-02 21:52:47
孙宇晨和景甜的瓜反转了,大量照片和聊天记录流出!

孙宇晨和景甜的瓜反转了,大量照片和聊天记录流出!

七阿姨爱八卦
2026-09-01 10:46:18
深圳校服火“出圈”!全市统一,企业自由竞争,价格杀到几十元

深圳校服火“出圈”!全市统一,企业自由竞争,价格杀到几十元

界面新闻
2026-09-01 21:46:36
碧桂园出事比恒大问题更大,看许家印落狱,杨氏父女疯找活路

碧桂园出事比恒大问题更大,看许家印落狱,杨氏父女疯找活路

赶鸭子上架
2026-09-02 12:37:08
科技公司高管与下属的大瓜,满屏虎狼之词,看得人面红耳赤!

科技公司高管与下属的大瓜,满屏虎狼之词,看得人面红耳赤!

葱哥说
2026-09-02 13:44:41
2026-09-03 00:48:49
千纸鹤安安
千纸鹤安安
大自然的搬运工
105文章数 3关注度
往期回顾 全部

科技要闻

凌晨最强模型上新,Claude Fable 5.1发布

头条要闻

乌安全局与乌国防部情报总局在基辅交火 泽连斯基发声

头条要闻

乌安全局与乌国防部情报总局在基辅交火 泽连斯基发声

体育要闻

一次有奖问答,让他成为欧冠主帅

娱乐要闻

香港武打影星陈观泰离世,终年80岁

财经要闻

星宇股份的麻烦,才刚开始

汽车要闻

配双腔空悬+机械差速锁 传祺越7预售权益价17.18万起

态度原创

房产
本地
亲子
教育
军事航空

房产要闻

新四代住宅 新样板间开放丨以艺术之名 赴一场迭代之约

本地新闻

昆明的雨,解锁汪曾祺的浪漫雨季

亲子要闻

别再炫耀你家孩子不吃零食了!看看评论区那些“报复性”的成年人

教育要闻

南京市“七校联合体”工作研讨暨盟主校交接会顺利召开

军事要闻

特朗普威胁伊朗终极打击蓄势待发

无障碍浏览 进入关怀版