[ERROR][memory ] Wanted heap size 3GB larger than available heap size 2GB. Could not create the Java virtual machine. (Doc ID 1455736.1)

Last updated on NOVEMBER 05, 2016

Applies to:

Oracle WebLogic Server - Version 10.3.1 to 10.3.6
Oracle Solaris on SPARC (64-bit)
****Checked for relevance 15-May-2015****

Symptoms

The issue occurs on the T4 platform on which the following kernel patch has been applied:

uname -a
SunOS irst4 5.10 Generic_147440-01 sun4v sparc sun4v

Pagesize command output would show 5 entries instead of 4 (as shown below).

# pagesize -a

After Patching the kernel below is the output.

root@irst4 # pagesize -a
8192
65536
4194304
268435456
2147483648
root@irst4 # uname -a
SunOS irst4 5.10 Generic_147440-07 sun4v sparc sun4v
root@irst4 # pwd
/var/tmp/jrockit
root@irst4 # cd bin
root@irst4 # ./java -version
[ERROR][memory ] Wanted heap size 3GB larger than available heap size 2GB.
Could not create the Java virtual machine.

Here is truss output at the very end:
/2: sysconfig(_CONFIG_AVPHYS_PAGES) = 65372914
/2: getpagesizes(0x00000001, 0) = 5
/2: getpagesizes(0x00000001, 4296121264) = 5
/2: fstat(2, 0xFFFFFFFF7C1FB2A0) = 0
/2: write(2, " [ E R R O R ] [ m e m o".., 75) = 75
/2: write(2, " C o u l d n o t c r".., 42) = 42

Notice it gets back 5 page sizes.

Now if I interpose over the getpagesizes() call and return only 4, it works:


root@irst4 # ./java -version
INTERPOSE:getpagesizes: arg0 is 0, arg1 is 0, returned 4
INTERPOSE:getpagesizes: arg0 is 114800, arg1 is 4, returned 4
java version "1.6.0_29"
Java(TM) SE Runtime Environment (build 1.6.0_29-b11)
Oracle JRockit(R) (build R28.1.5-20-146757-1.6.0_29-20111004-1748-solaris-sparcv9, compiled mode)

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms