IBM WEBSPHERE 6.1.X User Manual

Page 11

Advertising
background image

6

W E B S P H E R E P O R T A L V 6 . 1 T U N I N G G U I D E

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.

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

Advertising