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

我有一个运行相当长的分析(大量数字运算)的应用程序,因此运行应用程序一次需要大约3-4个小时,充分利用所有核心。现在我很确定我的代码不是防水的,所以我想描述并寻找潜在的弱点。 我一直在读jvisualvm,并且也玩了一下。然而,它似乎选择cpu或内存分析,而来自Javalobby的这篇文章有一个有趣的引用,作者说:   我意识到CPU和内存分析都可以同时完成,但为了本文的目的,我想让它们分开。 任何人都可以否认或证实这一点吗?如果这是可能的,它将非常有用,所以我不会反复开始以不同模式进行分析。如果不可能,是否可以排队到不同的分析分析,以便我可以在一夜之间运行它们? 谢谢,     
已邀请:
不可能同时进行CPU和内存分析,但您可以非常轻松地在CPU和内存之间切换,尤其是在使用“Sampler”选项卡时。对于您的情况,我将从简单的监控开始。查看图表,您应该能够判断出是否存在内存问题。如果你有内存问题,我会先尝试修复它,然后把注意力转向CPU分析。     
我发现分析器倾向于低估对象分配的成本,所以我通常使用cpu分析启用内存分析,因为我觉得这给出了更真实的CPU分析结果。 (即使我不看内存分析报告) 如果有疑问,我建议你运行CPU配置文件,有和没有内存分析,你可以得到非常不同的结果。根据我的经验,值得对两种结果进行优化。 ;) 顺便说一句:我使用的是YourKit,但我不认为VisualVM在这方面会有很大不同。     

要回复问题请先登录注册