141
VisualVM有兩個單獨的採樣和分析選項卡。有人能幫我弄清VisualVM中採樣和分析之間的區別嗎?jVisualvm中採樣和分析之間的區別
VisualVM有兩個單獨的採樣和分析選項卡。有人能幫我弄清VisualVM中採樣和分析之間的區別嗎?jVisualvm中採樣和分析之間的區別
Sampling
表示需要大量線程轉儲和分析堆棧跟蹤。 這通常更快,不需要運行時更改字節碼(這可能會破壞它),但也不太準確。
Profiling
意味着instrumenting你的類和方法,所以他們「報告」,只要他們運行。這更準確,因爲它計算每次調用方法,而不僅僅是轉儲完成時捕獲的那些方法。然而,儀器化意味着您的類的字節碼已更改,並且這可能會破壞您的程序。實際上,出於這個原因,在大型應用程序服務器(如JBoss或WebLogic)上使用分析通常會導致所有內容死亡或掛起。
這是否意味着分析比抽樣更準確,但是需要更多資源? – Parag
是的,我已經更新了答案。 – npe
我發現每次我用它來確定不良執行方法時,採樣都足夠準確。我個人從未使用分析。 – Marquez