java - 是否可以在 jvisualvm 中同时进行 CPU 和内存分析?

标签 java profiling jvisualvm

我有一个运行相当长的分析(大量数字运算)的应用程序,因此运行该应用程序一次大约需要 3-4 小时,充分利用所有核心。现在我很确定我的代码不是无懈可击的,所以我想分析并寻找潜在的弱点。

我已经阅读了很多关于 jvisualvm 的文章,并且也玩了一下它。然而,它似乎是选择 cpu 或内存分析,而 this article Javalobby 引用了一段有趣的话,作者说道:

I realise that both the CPU and Memory Profiling could have been done simultaneously, but for the purpose of this article I wanted to keep them seperate.

有人可以否认或证实这一点吗?如果这是可能的,它将非常有用,所以我不会一遍又一遍地以不同的模式进行分析。如果不可能,是否可以排队进行不同的分析分析,以便我可以过夜运行它们?

谢谢

最佳答案

不可能同时进行 CPU 和内存分析,但您可以非常轻松地在 CPU 和内存之间切换,尤其是在使用“采样器”选项卡时。对于你的情况,我会从简单的监控开始。通过查看图表,您应该能够判断自己是否有内存问题。如果您有内存问题,我会先尝试修复它,然后将您的注意力转移到 CPU 分析上。

关于java - 是否可以在 jvisualvm 中同时进行 CPU 和内存分析?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5549180/

相关文章:

c# - 最佳 .NET 内存和性能分析器?

java - jvisualvm 无法与 eclipse 一起使用

java - 从 Java 堆转储中查看 StringBuffer 或 char[] 的内容

java - 从 Java 中的嵌套 JSON 中检索值

java - 在 Java 中使用 HSQLDB 进行正则表达式查询

java - Java 中使用 XADES-EPES 进行 XML 签名有一个很好的示例吗?

multithreading - clojure reduce 函数使用所有内核,即使它看起来是单线程的

java - 在 Tomcat 上部署后显示应用程序上下文路径

profiling - OS X 上的 OCaml 时间分析

c++ - 通过clang++的-finstrument-functions : how to ignore internal std library calls?进行C++功能检测