-XX:[+|-]HitachiOutOfMemoryStackTrace (Option for stack trace output)
Format
- -XX:+HitachiOutOfMemoryStackTrace
- When OutOfMemoryError occurs, this option outputs the exception information and the stack trace in the JavaVM log file.
- The stack trace is stored in the buffer for each stack and is output after changing the code. The stack trace is output every time OutOfMemoryError is thrown. Therefore, when OutOfMemoryError is caught and thrown again, the stack trace is output multiple times. When OutOfMemoryError occurs during the creation of the thread, the stack trace is not output.
- -XX:-HitachiOutOfMemoryStackTrace
- When OutOfMemoryError occurs, this option does not output the stack trace to the JavaVM log file.
Description
Specify whether to output the exception information and the stack trace to the JavaVM log file when OutOfMemoryError occurs.
- Default value
- -XX:-HitachiOutOfMemoryStackTrace
Output format
[id] [Thread:thread_id]date[java.lang.OutOfMemoryError : requested size bytes (cause) : reason : thread_count threads exist] [id] [Thread:thread_id] stack_trace |
The following is a description of the output contents:
- id
- OOM (Identifier of the JavaVM log file).
- thread_id
- Thread ID (tid output to the thread dump).
- date
- Indicates the date and time when OutOfMemory exception occurs.
- size
- The size of the memory that you tried to secure is output (unit: Bytes). When the -XX:-HitachiOutOfMemorySize option is specified, the size is not output.
- Note that in the following cases the requested memory size is not fetched. In such cases, "unknown" is output as the size.
- When OutOfMemoryError is explicitly thrown without using the memory secure functionality of Java
The errors thrown by the standard class library will also be included. For example, when an error is thrown by the processes, such as "throw new OutOfMemoryError();" the memory size cannot be output.
- When OutOfMemoryError is caused by the verifier in the case of class loading.
- cause
- Indicates the types of causes for the occurrence of exceptions. The cause, however, is not output when the -XX:-HitachiOutOfMemoryCause option is specified. For the types of causes for the occurrence of exceptions, see -XX:[+|-]HitachiOutOfMemoryCause (Option to output the causes of exception).
- reason
- Indicates the reason for the occurrence of the exception. The reason is output when the creation of the thread fails.
- thread_count
- Indicates the number of threads when OutOfMemoryError occurs. The count also includes the number of threads whose creation failed.
- stack_trace
- Stack trace.
Examples of output
[OOM][Thread: 0x00062fd0] <Wed Mar 17 00:41:17 2004>[java.lang.OutOfMemoryError :requested 400000 bytes.(C Heap): unable to create thread : 1500 threads exist] [OOM][Thread: 0x00062fd0] at java.lang.Thread.start(Native Method) [OOM][Thread: 0x00062fd0] at sub1.<init>(Thread0012.java:22) [OOM][Thread: 0x00062fd0] at Thread0012.test01(Thread0012.java:73) [OOM][Thread: 0x00062fd0] at Thread0012.main(Thread0012.java:57) |
Precautions
- When the thread creation in JavaVM fails due to insufficient memory, only the exception information is output and the stack trace is not output.