what is the Maximum Java Heap Size ?

We are running windows2000 Server with 4GB Physical RAM. When I try to configure the Heap Size value more than 1 GB , the Server failed to start.
Server.bat is modified as


any idea about webmethods Integration server 4.6 limitation on this?


This would be a JVM limitation, rather than an IS limitation. I think there is a 2G addressable RAM per process limit and some JVMs limit the amount to Java applications to 1G.

The -server JVM option may allow this to be increased, but I’m not sure. Hopefully, someone else can comment.

You should try to keep the setting in Mb (1024M per Gb).

set JAVA_MIN_MEM=2048M
set JAVA_MAX_MEM=3072M

I have configured my server to use 1536M for the min and max setting.

I have upgraded all this as per below;

#1 webmethods Integration Server 6.0.1 with service pack 3
#2 jvm version 1.4.2 (sun microsystem)

Prior to that, we were running IS 6.0.1, running jvm 1.3.9 (IBM). We werent able to increase our heap size to go beyond 1.4GB. Our machine’s physical RAM is 3GB. webMethods has advised to upgrade th jvm version which we are now on.

So, we tried again, it still gives us the same result. We are doing incrementals of the 1024Mb variance, 1280, 1536, 1792. We can only use 1280 config, but 1536 and 1792 causes IS to not boot up. It always stops at ACL Manager started and it doesnt boot anymore.

Can anyone advise as to why this is happening? Is there any configurations which is needed to be done on the Microsoft windows environment?


I believe you are running into a 32bit limitation for both the JVM and the Operating System. I don’t believe Windows 2000 can address more than 2GB. Sun introduced 64bit support with 1.4.2 but I’m not sure that applied to windows. And with the 32bit version, normally you will only see the 1.5GB actually available to address due to other overhead. There are some discussions about this on both http://java.sun.com and http://www.wmusers.com

I also think there are some extensions available for Windows 2000 Server that will allow it to address more than 2GB but you are still going to be stuck on the jvm if it is not the 64bit version.


Sun 1.4.2 JVM max heap can be only 4GB.

With Sun JVM 1.5.x that will increase to 8GB

On Windows, the JVM’s maximum heap size is around 1.8GB depending on JVM version. So the max heap should be set to below this. However, on other OS such as Solaris or HPUX, this limit is far greater with proper JVM configurations.

Few points to consider:

  1. From my memory, not all webMethods products are supported for 64bit JVM. I believe most of products support 64bit JVM from 6.5 only.
  2. Be aware that at OS level, you’ll see the heap allocated + the memory being used by the JVM itself.
  3. Having a large heap size may also mean longer time for JVM’s garbage collection.
  4. There are green threads and native threads used by the JVM. Not having enough contiguous physical memory available will limit the number of native threads you can create.
  5. If more memory is requred, look to make the code more efficient first. Such as using transformers rather than invoke for certain cases, dropping variables as soon as possible, removing unnecessary codes, etc.

Hope this helps…

What is the limit on Linux?


The Java heap size depends upon the Jvm version that you use. The max. size varies from 1 to 2 gb depending upon the version.

For JVM 1.3 its 1 GB

Hope this helps



we are running HP�s JVM 1.4.2 (Build 06) on HP-UX RISC 2.0 with a maximum heap size
of 2,5 GB, which is indepedent of the systems memory (we had 4GB and upgraded to 8GB). JVM-Mode is “-server” by default, but I have to check if the 64bit-option is activated by default or not and if this might allow me to set a higher value.


To use 64-bit mode for JVM 1.4.2 and above, use the following flag for the java command:

java -d64 …

Your JVM must have 64bit libraries for this.

On Solaris there is a directory called <jdk_install>/bin/sparcv9/…
Should be similar on HP-UX



What Java Heap Size SUN JVM 1.5 on webMethods 6.5 Environment
Is JVM Heap size depends on JVM version on Operating System and Version?