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

为何bcc memleak无法检测到大量内存泄漏?求工具推荐

内存泄漏排查疑问:top显示内存暴涨但memleak仅检测到少量泄漏

问题描述

  • 使用bcc-memleak定位项目内存泄漏问题,top命令显示10小时内进程虚拟内存(VIRT)从100GB增至200GB,物理内存(RES)从60GB增至100GB,但memleak仅检测到150MB未释放内存
  • 已通过-fno-omit-frame-pointer编译项目以保留完整帧指针,memleak几乎能获取到所有未释放内存的调用栈(参数-o 30000表示仅收集分配后超过30秒未释放的内存)
  • memleak执行命令:memleak -p {pid} -o 30000 -T 10 20;使用jemalloc替代标准malloc时,额外添加参数-O /lib64/libjemalloc.so,两种内存分配器下检测结果一致
  • 曾尝试jemalloc的prof功能,但该功能占用过多CPU和内存,无法持续运行;使用LeakSanitizer检测时,仅发现不足100MB的内存泄漏

更新信息

编译参数

CPPFLAGS=-O2 -Werror=return-type -Werror=uninitialized -fno-omit-frame-pointer -std=c++11 -mavx2 -mf16c
LIBADD=-lhiredis -lworkflow -lopenblas -lpugixml -lboost_regex -lboost_system -discovery -lmemcached -loffdb -lz -llzo2 -lprotobuf -lresolv -lpthread -lfmt -lACE

环境信息

  • memleak v0.24.0
  • gcc (GCC) 8.3.1 20191121 (Red Hat 8.3.1-5)
  • CentOS Linux 8.2
  • 内核版本:Linux 4.18.0-193.28.1.el8_2.x86_64

疑问

如何获取更多关于内存异常增长的信息?或者有哪些更适合的内存泄漏检测工具推荐?

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 17:39:24