J V M M A X I M U M H E A P S I Z E L I M I T S
When setting the heap size for an application server, keep the following in mind:
Make sure that the system has enough physical memory for all of the processes to fit into physical memory, plus enough for the operating system. When more memory is allocated than the physical memory in the system, paging will occur, and this can result in very poor performance.
We set the minimum and maximum heap sizes to the same values since we’re using the gencon garbage collection policy available in 1.5 IBM JDK which avoids heap fragmentation, this may not be the best choice if you plan to use a different garbage collection. In our measurement runs, the system is under load for a relatively short time (around 3 hours), and it is running with portlets which do not have large memory requirements. When using portlets which have larger memory requirements, or for continuous operation, it may be possible to reduce heap fragmentation by setting the initial heap size to 320 megabytes.
After doing any tuning of heap sizes, monitor the system to make sure that paging is not occurring. As mentioned above, paging can cause poor performance.
The address space limit further restricts the size of the JVM process. If the process grows larger than the limit imposed by the operating system, it may terminate unexpectedly.
Due to the demands on native memory by WebSphere Portal V6.1 and its underlying components, we chose a maximum heap size of 1408MB in our Windows environments. There is a balance between JVM heap and native memory, all of which must fit within the 2GB restriction in
On Solaris and zLinux, we use 3.5GB heap size in
| Parameter |
| AIX | Linux | Solaris | Windows | z/Linux | z/OS |
|
| POWER5 | 2003 | |||||
|
|
|
|
|
|
| ||
| Initial and | 1792 | 2048 | 3584 | 1408 | 3584 | 2048 | |
| Maximum |
|
|
|
|
|
| |
| heap size |
|
|
|
|
|
| |
| (Mbytes) |
|
|
|
|
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 6 |
|
|
|
|
|
| W E BS P HE R E P O R T AL V 6 . 1 T U N I N G G U I D E |
|
|