Java heap size limit

Java™ offers many services to ease coding efforts for Java applications. One of these services is storage management.

Java’s storage management allocates large blocks of storage and uses these for storage requests by the application. This storage managed by Java is called the Java heap. Periodic garbage collection (defragmentation) reclaims unused space in the heap and reduces its size. Note that, to save CPU cycles, garbage collection tends to wait until the occupied storage is actually needed, thus leaving storage which is no longer used allocated (and becoming paged out) for a longer time than absolutely required.

The maximum Java heap size is defined in rse.env with the Xmx directive. You should specify a value of 256 MB or higher. When running in 64-bit mode, Java will attempt to allocate the heap above the 2 GB bar, freeing up space below the bar.

Each RSE thread pool (which services the client actions) is a separate Java application, and thus has a personal Java heap. Note that all thread pools use the same rse.env configuration file, and thus have the same Java heap size limit.

The thread pool’s usage of the Java heap depends heavily on the actions done by the connected clients. Regular monitoring of the heap usage is required to set the optimal heap size limit. Use the modify display process operator command to monitor the Java heap usage by RSE thread pools.