Skip to content

Set JVM Heap Size

Performance Tuning Guide provides some proposals for JVM Max Heap and Initial Heap

Must be set on Deployment Manager, Nodeagents and Application Servers

By default the heap sizes are set as follows:

  • Small deployment: Maximum Heap Size - 2506 MB
  • Medium deployment: Maximum Heap Size - 2506 MB
  • Large deployment: Each application in a Large deployment, except News and Search, has a default Heap size of 256 MB. The News and Search applications have a default Heap size of 784 MB.

You can monitor through Verbose Garbage Collection

Setting the minHeap = maxHeap can increase performance up to 10%

This article Tuning WebSphere Application Server V7 and V8 for performance from the WebSphere Tech Journal, is a good overview explaining the different pieced of performance tuning - http://www.ibm.com/developerworks/websphere/techjournal/0909_blythe/0909_blythe.html

Set JVM Heap using ISC

The JVM heap size can be changed in the ISC, each server must be changed individually.

Server Types > WebSphere Application Server > > Server Infrastructure > Java Process Management > Process Definition > Java Virtual Machine

bild26

Set the initial heap size, maximum heap size, save and sync once the servers are restarted the new settings are picked up.

Set JVM Heap using Scripts

To use the script to set the jvm heap use the cfgJVMHeap.py script.

Bash
./wsadmin.sh|bat -lang jython -f cfgJVMHeap.py

bild27

The script shows actual size of initialHeapSize and maximumHeapSize for all JVM

Prompts for initialHeapSize and maximumHeapSize for all JVM

“Return” leaves actual setting intact with no changes.

Using the script can save time and is particularly useful if you have many servers to change.

bild29

Once the script is complete the new settings are visible in the ISC and are picked up on the next server restart.