JITWatch觀察Java JIT情況

banq發表於2014-08-02
使用JITWatch可以幫助你觀察你的應用程式由JVM位元組碼轉換成機器碼JIT的情況。這是一個非常簡單的工具,可以讓你洞察發生在您的Java應用程式。

效能是一個很複雜的問題,尤其是當你考慮到你的Java程式在編譯過程中會經過多種重寫。首先,原始碼是很直截了當翻譯成位元組碼,然後進一步有時多次編譯到機器程式碼。

如果我們知道JVM內部知識和JIT編譯器是如何工作的,那麼就可以(某種程度上)更好最佳化程式碼。

JITWatch 是一個Java HotSpot JIT編譯器的日誌分析器, 它讀取JIT日誌檔案並虛擬圖形化顯示其活動。

下載安裝:
git clone git@github.com:AdoptOpenJDK/jitwatch.git
cd jitwatch
mvn clean install -DskipTests=true
./launchUI.sh # make sure that line-endings are correct :)

為了產生JIT日誌,啟動應用程式時需要JVM啟動引數:
-XX:+UnlockDiagnosticVMOptions -XX:+TraceClassLoading -XX:+LogCompilation -XX:+PrintAssembly

該Github專案中有一個Spring Petclinic和Tomcat 的案例。

[該貼被banq於2014-08-02 07:02修改過]

[該貼被banq於2014-08-02 07:03修改過]

相關文章