JITWatch观察Java JIT情况

banq 14-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修改过]

    

1