-XX:HitachiJITCompileMaxMemorySize (Option for specifying the maximum memory allocated for JIT compilation)
Format
Description
Specify the uppler limit value for the C heap memory size secured for the JIT compilation. When the C heap memory secured for the JIT complitaion exceeds the upper limit, this option outputs logs to the JavaVM log file and also controls the JIT compliaton. Hereafter, the Java method, for which the JIT compilation is executed, will only be executed with an interpreter. Even when the JIT compilation is controlled, JavaVM is not terminated forcibly and continues processing.
If 0 is specified, the memory to be secured for the JIT compilation will not have an upper limit.
Note that the JIT compilation is executed using the JavaVM internal threads (JIT compiler threads). There are two JIT compiler threads and the value acquired by dividing the upper limit specified in this option by two will become the upper limit for one JIT compiler thread.
Also, even when the upper limit is set up in this option, if the actually usable C heap is less than the upper limit, a C heap shortage might occur before the upper limit is reached. In this case, JavaVM is terminated forcibly.
Argument
Output format
[id][Thread: thread_id]<date>["thread_name" exceeded max memory size.] |
The following is a description of the output contents:
Examples of output
The following is an example of output when the upper limit is reached when -XX:HitachiJITCompileMaxMemorySize=536870912 is specified as the option and C heap of 262145 kilobytes is allocated to one JIT compiler thread:
[JMS][Thread: 0x03bf1150]<Wed Feb 24 14:33:58 2010>["CompilerThread0" exceeded max memory size.][262143K->262145K/262144K/524288K][test1.func][213] |
Precautions