Node.js 16中字符串未被垃圾回收引发内存泄漏问题求助
Node.js 应用内存泄漏问题求助
我的Node.js应用存在内存泄漏问题,导致Pod崩溃。并发请求时内存会激增,垃圾回收仅能释放部分内存,空闲时无法恢复至原有水平。该泄漏较为轻微,约72小时后内存达到1.1 GB时Pod会崩溃。正常情况下内存使用率不应超过40MB,峰值时的内存激增属正常现象,但空闲时应恢复至约40MB。
我们在Node.js 12版本下未出现此类问题,但升级至Node.js 16后遭遇该内存泄漏问题。
我在测试开始前和测试结束后等待垃圾回收完成时分别抓取了堆快照:
测试前堆快照

- (string) 占用约13988028字节内存
- (compiled code) 占用约12948428字节内存
测试前字符串中的数据:
测试后堆快照

- (string) 占用约61617524字节内存
- (compiled code) 占用约67697612字节内存
- 此外(compiled code)包含对string的引用
测试后,未被垃圾回收的字符串中新增了HTML页面内容,其中还包含部分请求失败的500错误响应HTML页面:
恳请各位协助解决此问题。
内容的提问来源于stack exchange,提问作者user12551649
相关产品推荐
相关产品推荐

