IBM 6.1.X Computer Drive User Manual


 
6
WEBSPHERE PORTAL V6.1 TUNING GUIDE
JVM M AXIMUM HE AP SI ZE LIMI TS
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.
32-bit operating systems have an address space limit of 4GBytes, regardless of the
amount of physical memory in the system. This space limits the maximum size of
each individual process in the system. In addition, some operating systems restrict
the size of processes to be even less than this limit. Many versions of Windows limit
processes to 2GBytes in size; you can find more information at
http://support.microsoft.com/default.aspx?scid=kb;en-us;555223.
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 32-bit Windows. 1408MB was the largest value we could use to
successfully measure all of our Windows configurations and workloads. If your application
has additional native memory requirements then you may need to choose a smaller
maximum heap size. For more information, see the WebSphere Application Server
information center.
On Solaris and zLinux, we use 3.5GB heap size in 64-bit environment.
Parameter
AIX
POWER5
Linux Solaris
Windows
2003
z/Linux z/OS
Initial and
Maximum
heap size
(Mbytes)
1792 2048 3584 1408 3584 2048