Managing Memory and Garbage Collection
Although applications can explicitly invoke GC with the System.gc() method, doing so is a bad idea since this forces major collections, and inhibits scalability on large systems. It is best to disable explicit GC by using the flag
The Enterprise Server uses RMI in the Administration module for monitoring. Garbage cannot be collected in
To specify the attributes for the Java virtual machine, use the Admin Console and set the property under
Tuning the Java Heap
This section discusses topics related to tuning the Java Heap for performance.
■“Guidelines for Java Heap Sizing” on page 87
■“Heap Tuning Parameters” on page 88
Guidelines for Java Heap Sizing
Maximum heap size depends on maximum address space per process. The following table shows the maximum
TABLE 4–1 Maximum Address Space Per Process
Operating System | Maximum Address Space |
| Per Process |
|
|
Redhat Linux 32 bit | 2 GB |
|
|
Redhat Linux 64 bit | 3 GB |
|
|
Windows 98/2000/NT/Me/XP | 2 GB |
|
|
Solaris x86 (32 bit) | 4 GB |
|
|
Solaris 32 bit | 4 GB |
|
|
Solaris 64 bit | Terabytes |
|
|
Maximum heap space is always smaller than maximum address space per process, because the process also needs space for stack, libraries, and so on. To determine the maximum heap space that can be allocated, use a profiling tool to examine the way memory is used. Gauge the maximum stack space the process uses and the amount of memory taken up libraries and other
Chapter 4 • Tuning the Java Runtime System | 87 |