我正在尝试分析一个程序的一部分,这个程序很难分离出来进行分析(在第一个例子中,我只是想在实际运行的程序中找到瓶颈)。但是,程序有一个重要的初始加载阶段,第二个阶段结束我重置收集的结果;抛弃所有数据。然后我开始真正的分析。
初始加载阶段的分析显着减慢了它的速度,我希望避免这种情况,因为无论如何我都会抛弃这些数据。
我正在使用标准的Netbeans探查器。
我研究了剖析点;然而,他们似乎重置结果,拍摄快照等而不是打开和关闭分析。
是否可以通过正在运行的程序开始收集分析数据,或者在重新启动之前暂停结果集合?
答案 0 :(得分:0)
使用VisualVM,在任何时候开始分析都是微不足道的。此外, Sampler 与 Profiler 相反,使用轻量级策略来获取数据。它立即启动和停止,几乎不会给正在运行的应用程序带来任何开销。
虽然 Profiler 应该更准确,但我的实际发现恰恰相反。您的里程可能会有所不同。
答案 1 :(得分:0)
您可以在开始分析之前使用“重置收集的结果”选项。当使用分析点命中某些代码时,也可以执行此操作。如果您不想丢失以前的结果,可以使用另一个性能分析点触发快照。
暂停分析只能通过暂停按钮手动执行。