gui jfr_Java飞行记录器(JFR)
gui jfr
JFR是一個Java分析器,它使您可以研究代碼的運行時特征。 通常,您將使用探查器來確定代碼的哪些部分導致大量內存分配或導致消耗過多的CPU。
有很多產品在那里。 過去,我使用過YourKit,OptimizeIt,JProfiler,NetBeans等。 每個都有其優點,并且在很大程度上取決于您所選擇的個人偏好。 我當前個人最喜歡的是YourKit。 它可以很好地集成到IntelliJ中,具有相對較低的開銷,并且可以很好地呈現其報告。
事實是,概要分析是一門非常不精確的科學,通常不只需要研究一個探查器來更清晰地了解程序中到底發生了什么。 據我所知,大多數探查器都依賴JVMP / JVMTI代理來探查Java程序。 一個主要的問題是安全點 。 這意味著您的Java程序只有在安全點才能被探測。 這意味著您將錯誤地了解程序中實際發生的情況,尤其是當許多活動處于安全點之間時。 同樣,所有探查器都會在不同程度上增加開銷。 Profiler的開銷將改變程序的特性,并可能導致分析結果產生誤導。 這里有更多信息。
輸入JFR。 自7u40版以來,JRF已與JDK捆綁在一起。 通過直接訪問JVM構建JFR。 這不僅意味著開銷很低(幾乎在所有情況下都聲稱少于1%),而且也不依賴安全點。 在這里查看一個示例,該示例與YourKit和JFR的分析有多么根本的不同。
要運行JFR,您需要將以下開關添加到Java命令行中:
-XX:+UnlockCommercialFeatures -XX:+FlightRecorderJFR位于Java Mission Control(JMC)中。 要啟動JMC,只需在命令行中鍵入jmc ,如果您的路徑中包含JDK,則JMC控制臺將啟動。 您應該在左側窗格中看到Java程序。 右鍵單擊您的程序,然后開始飛行記錄。
您將看到一個對話框,您可以在其中接受默認值(一分鐘采樣),然后將顯示結果。 值得付出選擇,以找到最適合您的方式。 與所有好的產品一樣,該GUI非常直觀。
從命令行開關可以看出,這是商業功能。 我不確定這意味著什么,但是您可以在這里的文檔中了解更多信息。 您也可以從命令行運行它,所有這些都在文檔中。
我確實發現的一個問題是,當我下載最新的Java8快照(此時為1.8.0_40-ea)時,我無法啟動程序并收到以下消息:
/Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Home/bin/ Error: Trying to use 'UnlockCommercialFeatures', but commercial features are not available in this VM. Error: Could not create the Java Virtual Machine. Error: A fatal exception has occurred. Program will exit.總而言之,JFR是對任何開發人員工具箱的重要補充,只要您使用的是JDK版本7u40或更高版本,那么肯定值得在您的代碼中進行嘗試。
(我鼓勵您查看上一篇文章結合JFR 進行性能優化的第一條規則 )
翻譯自: https://www.javacodegeeks.com/2015/01/java-flight-recorder-jfr.html
gui jfr
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的gui jfr_Java飞行记录器(JFR)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2022年5月电脑配置推荐及搭配建议(配
- 下一篇: 惠普:重庆生产基地第四亿台电脑下线,进一