SuperAPI AI 工具集

profile-memory

通用与其它

查看项目

更新于 10-16 00:05

技能介绍

用途:为 sidecar 提供内存与资源占用分析流程,覆盖内存泄漏、goroutine 泄漏、文件描述符累积、CPU 占用与插件无响应等排查场景。

主要能力:系统级排查无需 pprof,可用 pgrep/ps 定位进程并查看 RSS、VSZ、CPU%、线程数;macOS 用 vmmap --summary 查看 VM_ALLOCATE、MALLOC、Physical footprint、Swapped,Linux 用 /proc/<PID>/status、pmap、/proc/<PID>/fd;用 lsof 统计与分类文件描述符,识别重复打开或持续增长的文件;用 ps -M 或 /proc/<PID>/task 统计线程数。运行时排查通过 SIDECAR_PPROF=1 sidecar 启用 pprof(默认端口 6060,可自定义),抓取 heap、allocs、goroutine、profile 等端点,用 go tool pprof -top 或交互模式分析,并支持 -base 对比两次快照定位泄漏。附带 mem-monitor.sh 可定时输出 CSV 监控 heap_alloc_bytes、heap_inuse_bytes、goroutines、rss_mb。

使用方式:先建立基线(ps、lsof、vmmap),FD 超过 200 时优先查 FD 泄漏;有 pprof 时做堆快照对比,无 pprof 时以 SIDECAR_PPROF=1 重启复现。文档给出常见泄漏模式:watcher 层 fsnotify 导致会话文件 FD 累积、OutputBuffer 子串保留、轮询链重复、macOS 上 Go 的 MADV_FREE 造成 RSS 虚高(非泄漏)。

适用场景:sidecar 长时间运行后内存增长、插件卡死、SQLite 锁、goroutine 阻塞等问题的诊断。

限制:pprof 增加约 1-2MB 开销,HTTP 服务仅监听 localhost;macOS 上 vmmap/lsof 查看自身进程无需特殊权限;火焰图需安装 Graphviz。具体修复方案与版本信息资料未提供。