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.
-
Open the WebSphere Application Server administrative console.
-
Expand . Click WebSphere application servers. Click your server
name.
-
In the Server Infrastructure section, expand Java and Process
Management. Click .
-
In the Generic JVM arguments field, add the following parameter
-Xjit:verbose,vlog=log_path
Where
log_path is the relative file path location for the JIT compiler log file.
-
Click Apply.
-
Click Save directly to the master configuration.
-
Restart the WebSphere Application Server.
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.
-
In the WebSphere Application Server administrative console, expand . Click WebSphere application servers. Click your server
name.
-
In the Server Infrastructure section, expand Java and Process
Management. Click .
-
In the Generic JVM arguments field, increase the value for the
-Xjit:codetotal parameter.
Note: Do not tune the JIT codetotal value to be larger than the size that is
necessary. By increasing the value for the codetotal parameter too much, a
negative performance impact can occur. You are recommended to set the value for the
codetotal parameter to be only large enough to meet your application
requirements.
-
Click Apply.
-
Click Save directly to the master configuration.
-
Restart the WebSphere Application Server.
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.