簡體   English   中英

Java Mission Control和Flight Recorder是否提供與VisualVM相同的功能?

[英]Do Java Mission Control and Flight Recorder deliver same functionality as VisualVM?

用於Java的(相對)新的內置性能監視器/分析器是Mission Control。 Oracle文檔宣傳他們可以在生產中使用它們而不會造成性能損失(小於2%):

工具鏈[Mission Control + Flight Recorder]使開發人員和管理員能夠從本地運行或部署在生產環境中的Java應用程序收集和分析數據。

我已經使用jvisualvm (VisualVM)多年了,但是由於有人建議它確實會帶來性能開銷,所以在生產環境中從未使用過。

所以我要問: 任務控制(及其飛行記錄器)與VisualVM之間的區別是什么,它使MC / FR不會妨礙性能? 還是它們不包括VisualVM提供的某些功能?

方法配置文件的主要性能差異是MC / JFR使用采樣,並且每個采樣間隔僅采樣幾個線程。 它對AsyncGetCallTrace使用類似的方法(例如,參見http://psy-lob-saw.blogspot.com/2016/06/the-pros-and-cons-of-agct.html

由於我使用MC / JFR,因此我不熟悉VisualVM如何進行采樣分析,但是我相信它沒有使用相同的方法。

MC / JFR的數據收集引擎已深度集成到HotSpot JVM中,VisualVM使用外部API / MXBean。 這也有助於JFR降低性能開銷。 通常,JFR旨在查找熱點,而不是收集100%正確但會降低應用程序速度並影響實際行為的數據。 這不僅適用於方法抽樣和分配抽樣,還適用於有關延遲事件(等待/睡眠/阻止)的其他信息,其中僅記錄超過特定閾值的事件。 我對VisualVM的比較不太熟悉。

除此之外,這兩個工具具有不同的功能集,沒有一個是另一個的超集。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM