Java Mission Control 5.2终于来了! 欢迎7u40!
自從我們上次聽說這個(gè)叫做任務(wù)控制的小東西已經(jīng)有一段時(shí)間了。 它從JRockit一直到現(xiàn)在都被重命名為Java Mission Control。 這是從HotSpot和JRockit融合戰(zhàn)略中幸存下來的部分之一。 使用今天的Java SE 7 Update 40,您實(shí)際上可以再次使用它。
Java Mission Control 5.2
以前的JRockit任務(wù)控制(JRMC)現(xiàn)在稱為Java任務(wù)控制(JMC),它是一個(gè)工具套件,其中包括用于監(jiān)視,管理,分析和消除Java應(yīng)用程序中的內(nèi)存泄漏的工具,而不會(huì)引入通常與以下工具相關(guān)的性能開銷:這個(gè)類型。 直到今天,Oracle HotSpot下載中都提供了5.1版本,只有從Oracle支持網(wǎng)站上的付費(fèi)客戶才能獲得該版本。 今天的版本是與Hotspot JDK捆綁在一起的Java Mission Control的第一個(gè)版本! JRockit和Hotspot之間的融合項(xiàng)目已達(dá)到臨界規(guī)模。 在Hotspot JDK的7u40版本中,Hotspot提供了相當(dāng)數(shù)量的Flight Recorder信息。 終于有了道理。 除了數(shù)百個(gè)小的修復(fù)和改進(jìn)之外,JMC Client現(xiàn)在已構(gòu)建為可以在Eclipse 3.8.2 / 4.2.2上運(yùn)行,并且還具有帶有服務(wù)器端子注釋的新JVM瀏覽器。 這使跟蹤正在運(yùn)行的記錄和JVM變得容易得多。
Java飛行記錄器(JFR)
但是主要和最重要的功能是飛行記錄器。 飛行記錄功能可處理事件。 這些事件需要由基礎(chǔ)JVM產(chǎn)生。 現(xiàn)在,熱點(diǎn)已與JRockit達(dá)成事件融合。 這意味著從JRockit提供的最有用的信息現(xiàn)在也可以從Hotspot獲得。 而且因?yàn)檫@些是完全不同的JVM; 在某些情況下,信息會(huì)有所不同。 您的應(yīng)用程序的總體分析開銷仍然保持在不到2%的水平。 通常少得多。 考慮到您獲得的信息,這幾乎是零。
帶GlassFish 4的JFR
讓您的手變臟,然后嘗試使用最新的GlassFish。 首先更改您的glassfish4 \ glassfish \ config \ asenv.conf / .bat并添加AS_JAVA = PATH / TO / JDK7u40,現(xiàn)在啟動(dòng)域并導(dǎo)航到JVM選項(xiàng)。 或者,作為替代方法,打開glassfish4 \ glassfish \ domains \ domain1 \ config \ domain.xml并搜索相關(guān)的java-config標(biāo)記并添加以下兩個(gè)jvm-options:
<jvm-options>-XX:+UnlockCommercialFeatures</jvm-options><jvm-options>-XX:+FlightRecorder</jvm-options>現(xiàn)在,重新啟動(dòng)域并查找jdk1.7.0_40 \ bin \ jmc并將其啟動(dòng)。 如果您在同一臺(tái)計(jì)算機(jī)上運(yùn)行,??則應(yīng)該已經(jīng)在JVM瀏覽器中看到了可用JVM的列表。 如果展開GlassFish節(jié)點(diǎn)并雙擊“ MBean Server”節(jié)點(diǎn),您將獲得有關(guān)當(dāng)前情況的良好概覽:
從那里,您可以通過右鍵單擊JVM瀏覽器中的“飛行記錄器”節(jié)點(diǎn)來開始飛行記錄。 選擇所需的記錄時(shí)間和事件設(shè)置(現(xiàn)在,btw具有新的模板功能可以預(yù)選擇事件并單擊“完成”。在所需的時(shí)間范圍之后,將記錄下載到JMC,您可以瀏覽時(shí)間線并查找瓶頸。
一個(gè)非常小的缺點(diǎn)是,您無法使用GlassFish 3運(yùn)行它。對于jvm-options的排序,4.0版中已修復(fù)一個(gè)已知的錯(cuò)誤 。
什么是熱的?
自切片品種以來最好的事情是,您現(xiàn)在有了方法分析事件! 通過方法分析事件,您可以找出應(yīng)用程序在哪里花費(fèi)最多的時(shí)間來執(zhí)行Java代碼。 例如,這對于優(yōu)化實(shí)際上會(huì)產(chǎn)生影響的應(yīng)用程序很有用。
進(jìn)一步,您將獲得一個(gè)改進(jìn)的分配配置選項(xiàng)卡。您現(xiàn)在可以查看每個(gè)TLAB分配的跟蹤信息,并且可以直接在舊空間中分配對象。 在飛行記錄器的所有選項(xiàng)卡中,都將繼續(xù)使用“新的和改進(jìn)的”主題。 您將獲得文件I / O,套接字I / O以及許多其他的東西,它們提供了很多見解。
實(shí)驗(yàn)性插件
而對我來說最好的部分是,團(tuán)隊(duì)繼續(xù)使用大量實(shí)驗(yàn)性插件。 添加了一個(gè)新的名為JOverflow的–用于內(nèi)存浪費(fèi)的堆轉(zhuǎn)儲(chǔ)分析。 該插件允許Mission Control進(jìn)行堆轉(zhuǎn)儲(chǔ)分析,主要是尋找浪費(fèi)的堆空間。 JOverflow將尋找?guī)追N不同的反模式,例如重復(fù)的字符串,未充分利用的集合等。此插件還添加了一個(gè)操作(用于本地連接),該操作將執(zhí)行堆轉(zhuǎn)儲(chǔ),然后使用JOverflow可視化堆轉(zhuǎn)儲(chǔ)。 這可能是您可以從JRMC中得知的Memleak分析儀的短期替代品。 D-Trace插件也進(jìn)行了大修。 您可以在Marcus Hirt的博客中找到有關(guān)它的更多信息。
下載和進(jìn)一步閱讀
您可以從Oracle技術(shù)網(wǎng)Java SE下載頁面 grep下載最新的7u40。 Java Mission Control已經(jīng)集成,您可以運(yùn)行它了。
如果需要更多信息,請?jiān)L問oracle.com/missioncontrol ,在其中可以找到指向文檔和Eclipse更新站點(diǎn)的鏈接。
翻譯自: https://www.javacodegeeks.com/2013/09/java-mission-control-5-2-is-finally-here-welcome-7u40.html
總結(jié)
以上是生活随笔為你收集整理的Java Mission Control 5.2终于来了! 欢迎7u40!的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《博德之门 3》PS5 平台媒体评分解锁
- 下一篇: Play和Grails Java框架的优