2.5.1 Memory management

The most likely candidate for optimizing Java runtime performance is tuning memory management. Memory management in this context is considered to be the allocation and deallocation of objects within the heap. Because memory management is performed at runtime, rather than in the application code, it is a key differentiator among vendor JVMs. IBM has invested much research into heap management and garbage collection within the JVM. The IBM JVM offers multiple garbage collection algorithms, or policies, with each tailored for a specific purpose. These policies may be further tuned to optimize performance.

If an application requires a large amount of memory, AIX offers the opportunity to use increased page sizes. Using larger page sizes will help performance by reducing the overhead that is associated with paging.

If multiple instances of the JVM will be run on the same machine or partition, a reduced memory footprint and decreased startup time can be achieved through the use of a shared class cache.