Operating System - Linux
1752782 Members
6283 Online
108789 Solutions
New Discussion юеВ

Application is not starting because of large java heap size on HP-UX platform

 
SOLVED
Go to solution
sarram
Occasional Advisor

Application is not starting because of large java heap size on HP-UX platform

Hi,

Platform used is HP-UX (B.11.11 U 9000/800)
JDK version used is
java version "1.5.0.03"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0.03-_13_feb_2006_16_39)
Java HotSpot(TM) Server VM (build 1.5.0.03 jinteg:02.13.06-15:51 PA2.0 (aCC_AP), mixed mode)

I have one application which uses native code.
If jvm options are set to have heap size 2048M or greater, then application is not starting.

The options used for setting heap size is
-Xms2048M -Xmx2048M

The application is not starting, It is throwing below error :
[18/Oct/2006:05:22:43] catastrophe (26773): CORE4005: Internal error: unable to create JVM
[18/Oct/2006:05:22:43] failure (26773): CORE4009: Failed to load JVM (check your JRE)


After searching in the google, I could find information at
http://www.hp.com/products1/unix/java/infolibrary/prog_guide/expanding_memory.html

As suggested in the above website, I used

chatr +q3p enable

then my application is starting.

Is there any way other than the above command.

If at all, i want to use the above command 'chatr', then what is the impact, please let me know.

Thanks

6 REPLIES 6
James R. Ferguson
Acclaimed Contributor

Re: Application is not starting because of large java heap size on HP-UX platform

Hi:

The "impact" is only to the process involved. You have a 32-bit process that needs more data space (heap) instead of shared memory. Hence you use 'q3p' to increase the available "fence" size from 1.9 GB to 2.85 GB.

Regards!

...JRF...
Calandrello
Trusted Contributor

Re: Application is not starting because of large java heap size on HP-UX platform

Friend para habilite o largefile fsadm -F vxfs -o largefile /mountpoint
Bill Hassell
Honored Contributor

Re: Application is not starting because of large java heap size on HP-UX platform

For a simple program, the q3p feature is essentially transparent. The primary concern is with programs that use shared memory. This link will help explain things:

http://docs.hp.com/en/5185-6522/ch08s03.html

The limitations and and concerns are due to trying to make a 32bit program access more than 1.7Gb of local memory which is why 10 years ago, HP-UX was redesigned to run in 64Bit mode and support 64bit programs which essentially have no memory limits.


Bill Hassell, sysadmin
sarram
Occasional Advisor

Re: Application is not starting because of large java heap size on HP-UX platform

If HP-UX's EXEC_MAGIC linked with "-N" you can expand your available memory space(java heap size) from 1GB to around 1.7GB.

In the similar way, is there any linker option
which expands memory beyond 1.7GB instead of using the below command.
chatr +q3p enable
Bill Hassell
Honored Contributor
Solution

Re: Application is not starting because of large java heap size on HP-UX platform

Actually, there are 4 size 'steps' available for 32bit programs. The default limit is 960 megs. Compile/link with the -N option and you can push the limit to about 1.7Gb. Use chatr to change the executable to a q3p process and you can get about 2.8Gb, and (if supported, ie, current patches on 11.11), use chatr +q4p to get almost 3.8Gb. If you change the OS to 11.23, there is a totally different 32bit executable model called MPAS which instantly gives 32bit programs access to all 4 quadrants, about 3.8Gb.

All this craziness is required because 32bit programs are extremely limited. It doesn't make a lot of sense to keep playing with 32bit code when compiling as a 64bit program gives you unlimited memory (dozens, hundreds of Gb). The attached program can be compiled and chatr'ed in 6 different ways (5 ways on 11.11) to demonstrate different heap (local data) limitations.


Bill Hassell, sysadmin
sarram
Occasional Advisor

Re: Application is not starting because of large java heap size on HP-UX platform

Thanks Bill