识别组件在 JVM 中的内存

Identifing components' memory in the JVM

我们在一个 JVM 中有几个团队 运行 服务器组件。

当出现内存问题时,我们需要知道每个组件占用了多少内存(或者谁应该为 OOME :-) 负责)。

是否有任何通用技术可以帮助识别每个组件的内存使用情况?

我知道内存转储及其分析工具,但在某些情况下,由于复杂的图表等原因,分析非常复杂。 我想知道是否有一些高级技术,如私有堆或监控每个组件内存的有效方法。

我会使用内置的 Flight Recorder 中的内存分析器。

这可以让您细分最大用户的内存使用情况。我会沿着这个列表查看大部分内存被保留的位置。