You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Linux内核5.x及以上版本对Go1.15内存释放的影响咨询

问题详情

基础环境信息

  • Go版本:go version 1.15
  • 问题复现情况:未在最新版本复现
  • 操作系统与处理器架构:Linux 5.4.54-1.0.0.std7c.el7.2.x86_64 #1 SMP Mon Nov 16 10:02:20 CST 2020 x86_64 x86_64 x86_64 GNU/Linux

异常现象

服务内存占用过高,相关截图如下:

  • 截图1
  • 截图2
  • 截图3

排查过程

服务内存占用过高,但通过pprof堆文件分析未发现内存泄漏,结论依据:

  1. 同版本服务部署在K8s集群其他节点时未出现该问题,对应节点内核版本为4.9.2-3.0.0.std7b.el7.5.x86_64 #1 SMP Thu Apr 26 17:33:02 CST 2018 x86_64 x86_64 x86_64 GNU/Linux,且其pprof分析结果与异常节点相似。
  2. 针对MADV_FREE相关问题(runtime: default to MADV_DONTNEED on Linux #42330)进行排查,分析/proc/1/smaps文件的LazyFree字段,发现值均为0;所有节点内核版本均在4.5及以上,理论上应出现相同问题,但实际仅该节点异常,且gotrace记录正常。

疑问

  • 为何该服务内存占用过高?
  • Linux内核5.x及以上版本对Golang内存管理有何影响?

内容的提问来源于stack exchange,提问作者user16356622

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 07:20:41