如何查找java类使用的内存?

时间:2017-02-21 12:06:17

标签: memory heap-memory

我正在使用ubuntu 14.04。有没有办法找到java类或进程使用了​​多少堆?

当我运行顶部命令时,%CPU和%MEM表示什么?

2 个答案:

答案 0 :(得分:0)

top的输出为您提供单个Java虚拟机的CPU和内存使用情况。 Java程序中的并发通常使用线程实现,即在单个Java虚拟机中有许多线程。要获得有关特定线程或Java程序的其他组件的内存使用情况的更多信息,您必须查看虚拟机内部,例如捕获堆转储并使用MAT对其进行分析。 MAT和其他工具也在How do I analyze a .hprof file?中解释。另一种可能性是将VisualVM附加到Java虚拟机,但我自己从未使用它。

答案 1 :(得分:0)

您可以使用JDK中包含的jvisualvm。

 $YOUR_JAVA_HOME/bin/jvisualvm.

在分析器中,您可以选择应该进行的CPU或内存分析 告诉你你想要什么。

您可以在此处找到一些文档:https://visualvm.java.net/profiler.html