Shared Classes; Java Garbage Collection Tuning; Gc Strategy: Optthruput - IBM Power7 Optimization And Tuning Manual

Table of Contents

Advertisement

For example, if 20 MB is needed to run the application, -Xcodecache5m (four pieces of 5 MB
each) typically allocates 20 MB code caches at boot-up time, and they are likely close to each
other and have better performance for cross-code cache calls. Second, to determine if the
total code cache is sufficient, the -Xjit:verbose option can be used to print method names
as they are compiled. If compilation fails because the limit of code cache is reached, an error
to that effect is printed.

7.3.6 Shared classes

The IBM JVM supports class data sharing between multiple JVMs. The -Xshareclasses
option can be used to enable it, and the -Xscmx<size> option can be used to specify the
maximum cache size of the stored data, where <size> can be <
sizes in KB, MB, or GB.
The shared class data is stored in a memory-mapped cache file on disk. Sharing reduces the
overall virtual storage consumption when more than one JVM shares a cache. Sharing also
reduces the start time for a JVM after the cache is created. The shared class cache is
independent of any running JVM and persists until it is deleted.
A shared cache can contain:
Bootstrap classes
Application classes
Metadata that describes the classes
Ahead-of-time (AOT) compiled code

7.4 Java garbage collection tuning

The IBM Java VM supports multiple garbage collection (GC) strategies to allow software
developers an opportunity to prioritize various factors. Throughput, latency, and scaling are
the main factors that are addressed by the different collection strategies. Understanding how
an application behaves regarding allocation frequencies, required heap size, expected
lifetime of objects, and other factors can make one or more of the non-default GC strategies
preferable. The GC strategy can be specified with the -Xgcpolicy:<

7.4.1 GC strategy: Optthruput

This strategy prioritizes throughput at the expense of maximum latency by waiting until the
last possible time to do a GC. A global GC of the entire heap is performed, creating a longer
pause time at the expense of latency. After GC is triggered, the GC stops all application
threads and performs the three GC phases:
Mark
Sweep
Compact (if necessary)
All phases are parallelized to perform GC as quickly as possible.
The optthruput strategy is the default in the original Java 6 that uses the V2.4 J9 VM.
130
POWER7 and POWER7+ Optimization and Tuning Guide
nnn
nnn
>M, or <
nnn
>G for
>K, <
policy
> option.

Advertisement

Table of Contents
loading

This manual is also suitable for:

Power7+

Table of Contents