Tuning Just-In-Time compilers
Java virtual machines (JVM) use Just-In-Time (JIT) compilers to compile Java byte codes into native instructions during server run time. A JIT compiler is a platform-specific compiler that generates machine instructions for each method as needed. These compilers can affect startup or runtime performance.
About this task
By default, the size of the JIT codetotal parameter for the WebSphere Commerce JVM is 128 MB. Sometimes, this size might not be sufficient for your application. Once the JIT cache is full, the JIT compilers stop the optimization for compiling code. The stopping of this optimization can affect application performance. By monitoring the JIT compiler usage and tuning the JIT codetotal parameter, you can avoid this performance impact.
Procedure
-
Configure the WebSphere Application Server settings to monitor the JIT compiler logs. By
reviewing these log files, you can determine whether performance tuning is necessary.
After you restart the server, run WebSphere Commerce for a duration. Monitor the JIT log that you specified in the log_path. If the line
<WARNING: JIT CACHES FULL>
exists in the log file, tune the JIT codetotal parameter. -
Tune the codetotal parameter. Increase the codetotal
size by changing the JVM generic parameters.
Iterate this tuning process until the warning
<WARNING: JIT CACHES FULL>
no longer added to the JIT log file. When the JIT codetotal parameter is properly configured, disable the logging for the JIT compiler in the WebSphere Application administrative console. To disable this logging, remove the-Xjit:verbose,vloglog_path
parameter from the Generic JVM arguments field.