Dmitry@Rivermine
05-07-2008, 06:46 AM
Hi, I'm going to submit a ticket regarding this with our vendor but I wanted to post here if anyone has encountered this before.
I've run into a very very strange problem with a LINUX5 cloned appliance and JVM on 2.2.2-e1688 hf2192 hf2142 hf1960 hf2061 hf2069 hf2081 grid.
Yesterday I found out that on my cloned appliance I couuld not run java 1.5.10 with -Xmx2048M parameter. The system would simply state
Error occurred during initialization of VM
Could not reserve enough space for object heap
Could not create the Java virtual machine.
On "brick and mortar" servers this usually happens when there's not enough RAM in the machine. However, on my virtual appliance there's definitely enough as evident by "free" command. Numbers are in Kb.
total used free shared buffers cached
Mem: 4194444 107016 4087428 0 3752 30708
-/+ buffers/cache: 72556 4121888
Swap: 4194296 0 4194296
So I decided that something might have gone wrong during my clone and customization a while ago. I took out LINUX5 from catalog and instantiated it, gave it enough RAM, installed JVM and voila - runs ok. Next, I decided to clone LINUX5 again and set it up for my needs. I didn't need to install any custom libraries - only install some application servers and apache and Java. Nothing to be compiled to the /usr or /lib, etc.
Right after the work was done the JVM ran fine. However, this morning I'm getting the same error - unable to start JVM. This is after the application has been running for less than 24 hours.
The strace on "./java -Xmx2048m" gives the following output at the end.
mmap2(NULL, 2243952640, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = -1 ENOMEM (Cannot allocate memory)
mmap2(NULL, 2243952640, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = -1 ENOMEM (Cannot allocate memory)
mmap2(NULL, 2243952640, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = -1 ENOMEM (Cannot allocate memory)
mmap2(NULL, 2243952640, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = -1 ENOMEM (Cannot allocate memory)
mmap2(NULL, 2243952640, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = -1 ENOMEM (Cannot allocate memory)
mmap2(NULL, 2243952640, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = -1 ENOMEM (Cannot allocate memory)
mmap2(NULL, 2243952640, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = -1 ENOMEM (Cannot allocate memory)
mmap2(NULL, 2243952640, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = -1 ENOMEM (Cannot allocate memory)
mmap2(NULL, 2243952640, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = -1 ENOMEM (Cannot allocate memory)
mmap2(NULL, 2243952640, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = -1 ENOMEM (Cannot allocate memory)
close(3) = 0
mmap2(NULL, 2243952640, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = -1 ENOMEM (Cannot allocate memory)
write(1, "Error occurred during initializa"..., 43Error occurred during initialization of VM
) = 43
write(1, "Could not reserve enough space f"..., 46Could not reserve enough space for object heap) = 46
write(1, "\n", 1
) = 1
unlink("/tmp/hsperfdata_root/2084") = 0
write(2, "Could not create the Java virtua"..., 43Could not create the Java virtual machine.
) = 43
exit_group(1) = ?
Not sure if that helps or not. The "-Xmx2048M" settings to JVM tells it to "reserve" 2G of RAM from OS. This is actually a great show stopper for us. Please help!
I've run into a very very strange problem with a LINUX5 cloned appliance and JVM on 2.2.2-e1688 hf2192 hf2142 hf1960 hf2061 hf2069 hf2081 grid.
Yesterday I found out that on my cloned appliance I couuld not run java 1.5.10 with -Xmx2048M parameter. The system would simply state
Error occurred during initialization of VM
Could not reserve enough space for object heap
Could not create the Java virtual machine.
On "brick and mortar" servers this usually happens when there's not enough RAM in the machine. However, on my virtual appliance there's definitely enough as evident by "free" command. Numbers are in Kb.
total used free shared buffers cached
Mem: 4194444 107016 4087428 0 3752 30708
-/+ buffers/cache: 72556 4121888
Swap: 4194296 0 4194296
So I decided that something might have gone wrong during my clone and customization a while ago. I took out LINUX5 from catalog and instantiated it, gave it enough RAM, installed JVM and voila - runs ok. Next, I decided to clone LINUX5 again and set it up for my needs. I didn't need to install any custom libraries - only install some application servers and apache and Java. Nothing to be compiled to the /usr or /lib, etc.
Right after the work was done the JVM ran fine. However, this morning I'm getting the same error - unable to start JVM. This is after the application has been running for less than 24 hours.
The strace on "./java -Xmx2048m" gives the following output at the end.
mmap2(NULL, 2243952640, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = -1 ENOMEM (Cannot allocate memory)
mmap2(NULL, 2243952640, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = -1 ENOMEM (Cannot allocate memory)
mmap2(NULL, 2243952640, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = -1 ENOMEM (Cannot allocate memory)
mmap2(NULL, 2243952640, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = -1 ENOMEM (Cannot allocate memory)
mmap2(NULL, 2243952640, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = -1 ENOMEM (Cannot allocate memory)
mmap2(NULL, 2243952640, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = -1 ENOMEM (Cannot allocate memory)
mmap2(NULL, 2243952640, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = -1 ENOMEM (Cannot allocate memory)
mmap2(NULL, 2243952640, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = -1 ENOMEM (Cannot allocate memory)
mmap2(NULL, 2243952640, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = -1 ENOMEM (Cannot allocate memory)
mmap2(NULL, 2243952640, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = -1 ENOMEM (Cannot allocate memory)
close(3) = 0
mmap2(NULL, 2243952640, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = -1 ENOMEM (Cannot allocate memory)
write(1, "Error occurred during initializa"..., 43Error occurred during initialization of VM
) = 43
write(1, "Could not reserve enough space f"..., 46Could not reserve enough space for object heap) = 46
write(1, "\n", 1
) = 1
unlink("/tmp/hsperfdata_root/2084") = 0
write(2, "Could not create the Java virtua"..., 43Could not create the Java virtual machine.
) = 43
exit_group(1) = ?
Not sure if that helps or not. The "-Xmx2048M" settings to JVM tells it to "reserve" 2G of RAM from OS. This is actually a great show stopper for us. Please help!