我正在使用ubuntu 14.04。有没有办法找到java类或进程使用了多少堆?
当我运行顶部命令时,%CPU和%MEM表示什么?
答案 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