AgentMarketMCP / SKILL 资产档案馆

目录 / backend-memory-risk-report

SKILL 未评级 已上架

backend-memory-risk-report

分析项目后端(特别是 Java/Spring 服务)中可能存在的内存溢出、内存泄漏及异常内存增长风险,并生成结构化报告至项目路径下的 `docs/check/memory/日期.md`。适用于检测后端代码中常见的内存风险场景,包括但不限于:静态持有对象、无限增长的缓存、ThreadLocal 未清理导致的滞留、监听器或调度任务堆积、大对象缓冲区未释放、资源泄漏(如数据库连接、文件句柄)、消息队列或任务队列堆积等。 报告需包含以下内容: 1. **风险类型** 明确指出发现的内存问题类型(如内存泄漏、内存溢出、异常内存增长等)。 2. **风险证据** 提供具体代码位置(类名、方法名、行号)、堆栈信息、GC 日志分析、内存快照(Heap Dump)中的可疑对象引用链、监控指标(如堆内存使用率持续上升、Full GC 频繁)等客观证据。 3. **影响评估** 描述该风险对系统的影响程度,例如: - 是否导致服务响应变慢或超时 - 是否引发 OOM(OutOfMemoryError)导致服务崩溃 - 是否影响其他服务或模块 - 是否造成资源浪费或成本上升 4. **触发条件** 分析在何种场景或操作下会触发该内存问题,例如: - 高并发请求下缓存未设置上限 - 长时间运行的任务未清理 ThreadLocal - 定时任务未正确取消导致任务堆积 - 大文件上传未使用流式处理 5. **修复建议** 提供具体、可操作的修复方案,例如: - 对静态集合使用弱引用或定期清理机制 - 为缓存设置最大容量和过期策略(如使用 Caffeine 或 Redis) - 在 finally 块中清理 ThreadLocal 变量 - 使用线程池时确保任务可被中断或取消 - 对大对象使用分块处理或流式读取 - 使用 try-with-resources 确保资源释放 - 监控队列长度并设置背压机制 6. **处理进度状态** 记录当前处理状态,如: - 未开始 - 分析中 - 修复中 - 已修复待验证 - 已上线验证通过 7. **附加信息(可选)** - 相关监控图表链接(如 Prometheus/Grafana) - Heap Dump 分析工具截图或 MAT 报告摘要 - 相关 Issue 或 JIRA 任务编号 输出格式示例(Markdown): ```markdown # 内存风险分析报告 - 2024-04-05 ## 1. 静态 Map 持有用户会话数据导致内存泄漏 - **风险类型**:内存泄漏 - **风险证据**: - 类 `UserSessionManager` 中静态 `Map<String, Session>` 持续增长 - Heap Dump 显示该 Map 占用堆内存 1.2GB - GC 日志显示老年代使用率持续上升 - **影响评估**: - 服务运行 72 小时后出现 OOM - 影响所有用户登录功能 - **触发条件**: - 用户登录后未正确注销或超时未清理 - 无最大容量限制和过期机制 - **修复建议**: - 使用 `Caffeine` 缓存替代静态 Map,设置最大容量 10,000 和 30 分钟过期 - 添加会话超时监听器自动清理 - **处理进度状态**:修复中 ## 2. ThreadLocal 未清理导致线程池内存滞留 - **风险类型**:内存泄漏 - **风险证据**: - `RequestContextHolder` 中使用 ThreadLocal 存储请求上下文 - 线程池复用线程时未调用 `remove()`,导致上下文对象累积 - MAT 分析显示多个 `ThreadLocalMap$Entry` 持有大对象 - **影响评估**: - 线程池线程内存占用持续增长 - 可能引发局部 OOM - **触发条件**: - 异步任务中未在 finally 块清理 ThreadLocal - **修复建议**: - 在 `finally` 块中调用 `RequestContextHolder.resetRequestAttributes()` - 使用 AOP 或过滤器统一清理 - **处理进度状态**:已修复待验证 ## 3. 调度任务堆积导致队列内存溢出 - **风险类型**:异常内存增长 - **风险证据**: -

模型生成摘要(rules/v1 · 2026-11-12 18:27):分析项目后端(特别是 Java/Spring 服务)中可能存在的内存溢出、内存泄漏及异常内存增长风险,并生成结构化报告至项目路径下的 `docs/check/memory/日期
这是模型对公开材料的总结,不是官方声明,请以原链内容为准。

存档时间线

版本存档时间内容哈希内容
v12026-11-12 18:261086b95d 可取

版本索引永久保留;内容副本只保留最新 1 份,更早版本仅留索引与哈希(存档时间线的证据链不会因此断裂)。

下载存档内容副本

纠错与举报(发现条目失效、署名有误或涉及侵权?)
提交举报 / 纠错

侵权举报经核验成立后,我们会即时下线该条目并删除已存的内容副本。