使用VisualVM分析應用程序的CPU時間時,可以在拍攝快照後看到「調用樹」選項卡。但在我的情況下,調用樹只顯示一些RMI TCP類和方法,但沒有我的應用程序的單一類。如何在VisualVM中顯示調用樹?
如何顯示正確的呼叫樹?
使用VisualVM分析應用程序的CPU時間時,可以在拍攝快照後看到「調用樹」選項卡。但在我的情況下,調用樹只顯示一些RMI TCP類和方法,但沒有我的應用程序的單一類。如何在VisualVM中顯示調用樹?
如何顯示正確的呼叫樹?
可能性
「探查器」選項卡上有一個「設置」複選框。如果您選中設置框,將顯示另一個面板,您可以配置探查器收集數據的相關類。
下面是截圖。
調用樹只顯示線程採樣/分析其間真正跑(不睡覺所有的時間),其堆棧跟蹤的不是那些過濾掉全部。在開始採樣或分析之前設置過濾器。當啓用右上角的「設置」複選框時,您可以設置過濾器。在採樣器的情況下,您還可以設置採樣頻率,這是性能與風險之間的折衷,以監控線程的運行狀態。但可能是在分析過程中,您的應用程序真的很空閒。然後,您看到的唯一線程是維護與VisualVM的連接的RMI線程。
正如@Holger所說,剖析器/採樣器的快照應該只顯示正在運行的線程。 但是,我個人的經驗發現,採樣快照有時會顯示更多線程來描述性能分析。
此外,VisualVM的採樣器使您能夠實時查看每個線程的CPU時間(無需拍攝快照),無論它是否正在運行,休眠,等待或監視。
我不明白爲什麼會發生這種情況,因爲分析應該比採樣(see here the difference)更準確,但它確實如此。
總而言之,我建議您嘗試一下采樣器,看看它是否有效。
謝謝。是的,抽樣幫助和抽樣我可以看到我想看到的呼叫樹。 –
感謝您的設置提示。如果我點擊複選框,我會看到配置文件類,但我不允許更改它們。文本框不可編輯。我如何編輯它們? –
好的,明白了。必須停止分析以編輯設置。設置正確的類後,我可以看到我的應用程序的正確調用樹。 –