首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >内存泄漏该怎么办?

内存泄漏该怎么办?

作者头像
早起的鸟儿有虫吃
发布2026-06-25 12:21:19
发布2026-06-25 12:21:19
970
举报

一、测试反馈

一天 测试小美 反馈亚健康检测 xx模块出现内存泄漏

我顿时卡住,日志看无数次,有错误发生,这个业务报错 没关系呢,看很多次相关代码 2个小时过去了

没有思路,大家都知道 内存泄漏 申请 没有释放

这个不应该,业务执行这么长时间了,这个基本错误应该不出现

陷入投入无效努力中,

然后询问 你们确定是xx模块导致的,不是其他模块

还有其他错误,如何大海捞针明确具体错误

二、至少知识

老李:小王 你明白 第一性原理

kv申请内容-【已经申请】--commit 提交---然后释放

为什么没释放,必然中间没有执行完成,

为什么完成,并发 异步处理, 有可能 commit请求 排队处理 没有调用,协程最害怕 就是其他函数占用耗时比较久

你需要看日志无用 和 亚健康检测人员为什么 必须跟踪堆栈 那个函数卡住。

结合 HA检测模块 30分钟没有释放,那些请求卡30分钟呢没处理完成!

commit 没执行2个原因

(1) 没有被调度 (2) commit 自己卡主了,一般不会。

问题变成:那个堆栈函数卡主了。

三、寻找那个函数执行耗时长

每个公司都有自己处理方式,整个链路很长。

3.1 安装包 二级制debug

3.2 用套路查找

这是一条分布式存储阵列的慢读 IO 调用栈(BackTrace)active(912ms) 说明该读请求已执行 912 毫秒未完成,属于慢 IO 告警,打印完整函数调用链用于定位时延卡点。

调用顺序为从上到下、从上层业务到底层驱动:调度入口 → 段读写层 → RAID 条带层 → 数据打包层 → IO 枢纽层 → 虚拟卷层 → IO 接口层 → 协程调度。

总结

看着想着水文,但是公司处理问题时候,不把问题像太复杂

从原理上分析,然后找证据。找证据 需要深入计算机组成原理 gdb 内核源码 还是业务程序,一定找到答案,

相信你可以

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2026-06-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 后端开发成长指南 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、测试反馈
  • 二、至少知识
  • 三、寻找那个函数执行耗时长
    • 3.1 安装包 二级制debug
    • 3.2 用套路查找
  • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档