The large object area | Heap sizing
Sizing the large object area
To determine the values for initial and maximum LOA sizes, test runs of typical loads in a production-like configuration are needed. After the load tests, examine the verbosegc to determine the usage characteristics of the large object area. If the LOA is not utilized much, then the default settings will provide good results. However, if the LOA is utilized, then setting the LOA runtime options may help.
It is unlikely that an application will require a large object area that is more than 50% of the tenure space. However, if the diagnostics show that the LOA is consistently full at this default size, then adjust the maximum LOA to a higher percentage. Additionally, the initial LOA percentage may be increased as well. The initial and maximum percentages should never be the same amount. You should always allow room for the LOA to expand and shrink.
Runtime option User Guide description -Xloainitial <number> <number> is between 0 and 0.95, which specifies the initial percentage of the current tenure space allocated to the large object area (LOA). The default is 0.05 or 5%. -Xloamaximum <number> <number> is between 0 and 0.95, which specifies the maximum percentage of the current tenure space allocated to the large object area (LOA). The default is 0.5 or 50%. -Xconmeter:<soa | loa | dynamic> Determines which area's usage, the large object area (LOA) or the small object area (SOA), is metered and hence which allocations are taxed during concurrent mark. The allocation tax is applied to the selected area. If -Xconmeter:dynamic is specified, the collector dynamically determines the area to meter based on which area is exhausted first. By default, the option is set to -Xconmeter:soa.