生产代码中的内存泄漏检测

7 java memory-leaks production-environment

我今天在接受采访时遇到了一个棘手的问题.他们问我如何在生产代码中找到内存不足错误的根本原因.我开始谈论剖面仪.面试官通过说明如何产生生产中发生的流量以便从剖析器中受益,将其拉向另一个方向.我没有线索.任何信息都会非常有用.

Bru*_*der 4

分析器并不是生产中追踪内存泄漏的最佳工具

  1. 分析器不在生产 JVM 上运行
  2. 通常不可能在开发中重新创建或测试在生产中造成内存泄漏的条件(面试官提示)

解决方案是进行堆转储(例如使用 jmap - 依赖于 JVM)并使用诸如优秀的(并且免费提供的)SAP 内存分析器(MAT)之类的工具对其进行分析