IBM User Guide for Java V7 on Windows > IBM SDK for Java > The collector and the allocator > Global garbage collection
Heap expansion
Heap expansion occurs after garbage collection while exclusive access of the virtual machine is still held. The heap is expanded in a set of specific situations.
The active part of the heap is expanded up to the maximum if one of three conditions is true:
- The Garbage Collector (GC) did not free enough storage to satisfy the allocation request.
- Free space is less than the minimum free space, which you can set by using the -Xminf parameter. The default is 30%.
- More than the maximum time threshold is being spent in garbage collection, set using the -Xmaxt parameter. The default is 13%.
The amount to expand the heap is calculated as follows:
- The -Xminf option specifies the minimum percentage of heap to remain free after a garbage collection. If the heap is being expanded to satisfy this value, the GC calculates how much heap expansion is required.
You can set the maximum expansion amount using the -Xmaxe parameter. The default value is 0, which means there is no maximum expansion limit. If the calculated required heap expansion is greater than the non-zero value of -Xmaxe, the required heap expansion is reduced to the value of -Xmaxe.
You can set the minimum expansion amount using the -Xmine parameter. The default value is 1 MB. If the calculated required heap expansion is less than the value of -Xmine, the required heap expansion is increased to the value of -Xmine.
- If the heap is expanding and the JVM is spending more than the maximum time threshold, the GC calculates how much heap expansion is needed to provide 17% free space. The expansion is adjusted as described in the previous step, depending on -Xmaxe and -Xmine.
- If garbage collection did not free enough storage, the GC ensures that the heap is expanded by at least the value of the allocation request.
All calculated expansion amounts are rounded to the nearest 512-byte boundary on 32-bit JVMs or a 1024-byte boundary on 64-bit JVMs.
Parent: Global garbage collection
Error 404 - Not Found Error 404 - Not Found
The document you are looking for may have been removed or re-named. Please contact the web site owner for further assistance.