7.6.7 -XX:[+|-]HitachiVerboseGCPrintDeleteOnExit
-XX:[+|-]HitachiVerboseGCPrintDeleteOnExit outputs the following information to the Java VM log file: the cumulative heap size allocated by Java VM when java.io.File.deleteOnExit() was called, and the number of times the method was called.
Description
-XX:[+|-]HitachiVerboseGCPrintDeleteOnExit specifies whether the following information is to be output to the Java VM log file: the cumulative heap size allocated by Java VM when java.io.File.deleteOnExit() was called, and the number of times the method was called.
Each time java.io.File.deleteOnExit() is called, Java VM allocates heap space to store the path information of the specified file. However, the allocated area is not released until the process ends. As a result, the memory might become insufficient. If the -XX:+HitachiVerboseGCPrintDeleteOnExit option is specified, the heap size that is allocated by Java VM when java.io.File.deleteOnExit() is called is output to a log. By using this log, you can monitor the heap size. As supplementary information for determining the call status of java.io.File.deleteOnExit(), the number of times a method was called can also be output.
When an error occurs, you can investigate the cause of a memory shortage by using the output information to determine the heap size that was allocated when java.io.File.deleteOnExit() was called. Before the start of production operation, you can also use this information in the development and test phases to check for trends in the increase of the heap size allocated when java.io.File.deleteOnExit() is called, and to check for any indications of memory shortage during operation.
Note that an error message is output when an error occurs.
- Prerequisite option
-
-
-XX:+HitachiVerboseGC
-
- Format of output
-
The following shows the format of output for the Java VM log file:
[id] <date> (Skip Full:full_count, Copy:copy_count) [gc_kind gc_info, gc_time secs][Eden: eden_info][Survivor: survivor_info] [Tenured: tenured_info][Metaspace: Metaspace_info] [class space: class_space_info][cause:cause_info] [User: user_cpu secs] [Sys: system_cpu secs][IM: jvm_alloc_size, mmap_total_size, malloc_total_size] [TC: thread_count][DOE: doe_alloc_size, called_count]
The following provides details about the output items and content when this option is specified.
Output item
Output content
doe_alloc_size
Cumulative size of the heap that was allocated when java.io.File.deleteOnExit() was called
called_count
Number of times java.io.File.deleteOnExit() was called.
The following shows the format of the message that is output when an error occurs.
[DOE]<date>Error occurred during processing of java.io.File.deleteOnExit's heap size output function. (<maintenance_information>) [DOE]java.io.File.deleteOnExit's heap size output function stopped.
The following provides details about the output content of the error message.
Output item
Output content
DOE
Identifier indicating that an error occurred in the heap size output functionality for java.io.File.deleteOnExit()
date
Date and time the error occurred
Syntax
-XX:[+|-]HitachiVerboseGCPrintDeleteOnExit
Specifiable values
Type: String
- -XX:+HitachiVerboseGCPrintDeleteOnExit
-
Outputs the size of the heap allocated when java.io.File.deleteOnExit() was called, and the number of times the method was called.
- -XX:-HitachiVerboseGCPrintDeleteOnExit
-
Does not output the size of the heap allocated when java.io.File.deleteOnExit() was called or the number of times the method was called.
Examples
The following are output examples of the Java VM log file.
- Example 1 (if SerialGC is selected when the -XX:+HitachiVerboseGC option is selected)
-
[VGC]<Thu Oct 02 10:38:53.658 2014>(Skip Full:1,Copy:0) [Full GC 770K->682K(8064K), 0.0050003 secs][DefNew::Eden: 88K->0K(2304K)] [DefNew::Survivor: 0K->0K(256K)][Tenured: 681K->682K(5504K)] [Metaspace: 3634K(4492K, 4492K)->3634K(4492K, 4492K)] [class space: 356K(388K, 388K)->356K(388K, 388K)] [cause:System.gc][User: 0.0000000 secs][Sys: 0.0000000 secs] [IM: 11944K, 12448K, 0K][TC: 22][DOE: 0K, 0][CCI: 1173K, 245760K, 2496K]
- Example 2 (if G1GC is selected when the -XX:+HitachiVerboseGC option is selected)
-
-
GC-related log
[VG1]<Thu Oct 02 10:38:56.193 2014> [Full GC 753K/2048K(8192K)->678K/1024K(8192K), 0.0097901 secs][Status:-] [G1GC::Eden: 1024K(2048K)->0K(2048K)][G1GC::Survivor: 0K->0K] [G1GC::Tenured: 1024K->1024K][G1GC::Humongous: 0K->0K] [G1GC::Free: 6144K->7168K] [Metaspace: 3634K(4492K, 4492K)->3634K(4492K, 4492K)] [class space: 356K(388K, 388K)->356K(388K, 388K)] [cause:System.gc] [RegionSize: 1024K][Target: 0.2000000 secs][Predicted: 0.0000000 secs] [TargetTenured: 0K][Reclaimable: 0K(0.00%)][User: 0.0000000 secs] [Sys: 0.0000000 secs][IM: 20459K, 21920K, 0K][TC: 35][DOE: 0K, 0] [CCI: 1172K, 245760K, 2496K]
-
Concurrent Marking related log
[VCM]<Wed Jul 24 11:45:20 2013>[Concurrent Root Region Scan Start] [User: 0.0000000 secs][Sys: 0.0000000 secs] [VCM]<Wed Jul 24 11:45:20 2013>[Concurrent Root Region Scan End] [User: 0.0126134 secs][Sys: 0.0146961 secs] [VCM]<Wed Jul 24 11:45:20 2013>[Concurrent Mark Start][User: 0.0000000 secs] [Sys: 0.0000000 secs] [VCM]<Wed Jul 24 11:45:34 2013>[Concurrent Mark End][User: 0.0156250 secs] [Sys: 0.2495800 secs]
-
- Example 3 (if SerialGC is selected when the -XX:+HitachiCommaVerboseGC option is selected)
-
VGC,Thu Oct 02 10:38:52.442 2014,1,0,0,Full GC,770,682,8064,0.0040002,88,0,2304, 0,0,256,681,682,5504,3634,3634,4492,3634,3634,4492,356,356,388,356,356,388,1,0. 0000000,0.0000000,11913,12448,0,22,0,0,1173,245760,2496
- Example 4 (if G1GC is selected when the -XX:+HitachiCommaVerboseGC option is selected)
-
-
GC-related log
VG1,Thu Oct 02 10:38:54.920 2014,Full GC,753,2048,8192,678,1024,8192,0.0064767, -,1024,2048,0,2048,0,0,1024,1024,0,0,6144,7168,3634,3634,4492,3634,3634,4492, 356,356,388,356,356,388,1,1024,0.2000000,0.0000000,0,0,0.00,0.0000000, 0.0000000,20459,21920,0,35,0,0,1171,245760,2496
-
Concurrent Marking related log
VCM,Fri Jul 26 21:35:50 2013,Concurrent Mark Start,0.0000000,0.0000000 VCM,Fri Jul 26 21:35:50 2013,Concurrent Mark End,0.0124532,0.0245698
-
The following is an example of an output error message.
- Example of error message output
-
[DOE]<Wed Jan 27 13:03:36 2010> Error occurred during processing of java.io.File.deleteOnExit's heap size output function. (FindClass:java.lang.String) [DOE]java.io.File.deleteOnExit's heap size output function stopped.
Notes
-
In the following cases, the cumulative heap size and the number of times the method was called are not calculated even if java.io.File.deleteOnExit() is called:
-
If a SecurityException occurs when java.io.File.deleteOnExit() is called. (This exception occurs if SecurityManager.checkDelete() of the security manager does not permit deletion access. In such cases, an exception is thrown at the beginning of the method, and heap space is not allocated.)
-
If java.io.File.deleteOnExit() is called from an application created by using the batch application execution infrastructure of Application Server.
-
If java.io.File.deleteOnExit() is called by using the File instance that was created with the same path name.
-
-
Note the following points when checking the heap size output by this functionality:
-
The heap space that is allocated to java.io.File.deleteOnExit() is the JavaHeap.
-
The heap size is output in units of kilobytes, and values of less than 1 kilobyte are rounded down. The size of the heap that is allocated each time java.io.File.deleteOnExit() is called can vary from tens of bytes to approximately 100 bytes, depending on the length of the file path. For this reason, the output heap size sometimes does not increase even when java.io.File.deleteOnExit() is called. In such cases, you can check whether a method is being executed by checking the number of times the method was called.
-