为什么你的 Node.js 服务在 Docker 里内存居高不下:从 V8 堆外内存与 mmap 说起
把一个 Node.js 服务塞进容器运行,压测时内存曲线往往和本地跑不一样:容器监控显示 RSS 一路涨到几百 MB 甚至超过 limit 被 OOM Kill,而 process.memoryUsage().heapUsed 却只有几十兆。很多人第一反应是内存泄漏,加 --max-old-space-size 限制堆大小,结果问题还在。这个现象背后多半不是 JS 堆的锅,而是堆外内存、Buffer 分配以及 glibc 的 malloc arena 行为在容器环境下的组合结果。文章从一次真实排查过程切入,...