Speicher

04/06/2008 - 07:43 von Christian Schröder | Report spam
Hallo!
Ich weiß nicht genau, ob das hier die richtige Newsgroup ist. Falls
nicht, könnt Ihr mir ja Bescheid sagen. ;-)
Ich versuche, auf einem Server mit openSUSE 10.2 eine Java-Applikation
laufen zu lassen, die ziemlich viel Speicher braucht. Daher muss ich
Java mit "-Xmx2048m" starten, d.h. es sollen 2 GB Speicher zugewiesen
werden. Java startet jedoch gar nicht erst, sondern bringt gleich die
Fehlermeldung:

Error occurred during initialization of VM
Could not reserve enough space for object heap
Could not create the Java virtual machine.

Was mich wundert ist, dass genug freier Speicher da ist und ich auch
keine Limits erkennen kann:


free -m


total used free shared buffers cached
Mem: 7987 4188 3799 0 0 3562
-/+ buffers/cache: 625 7362
Swap: 2055 0 2055


ulimit -m -v


max memory size (kbytes, -m) 6952745
virtual memory (kbytes, -v) 8227280

Ich habe mal ein "strace /usr/java/jdk1.5.0/bin/java -Xmx2048m ..."
probiert, und das Problem scheint folgender Funktionsaufruf zu sein:

mmap2(NULL, 2214592512, PROT_READ|PROT_WRITE|PROT_EXEC,
MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0xff92e30c) = -1 ENOMEM
(Cannot allocate memory)

Aber warum?? Hat jemand einen Tip für mich?

Die Maschine hat zwei Dual-Xeon-Prozessoren. Der Kernel ist ein
64bit-Kernel:


uname -a


Linux db1 2.6.18.8-0.9-default #1 SMP Sun Feb 10 22:48:05 UTC 2008
x86_64 x86_64 x86_64 GNU/Linux

Ich bin für jede Hilfe dankbar!

Gruß,
Christian
 

Lesen sie die antworten

#1 Christian Steins
04/06/2008 - 09:29 | Warnen spam
Christian Schröder schrieb:

Ich weiß nicht genau, ob das hier die richtige Newsgroup ist. Falls
nicht, könnt Ihr mir ja Bescheid sagen. ;-)
Ich versuche, auf einem Server mit openSUSE 10.2 eine Java-Applikation
laufen zu lassen, die ziemlich viel Speicher braucht. Daher muss ich
Java mit "-Xmx2048m" starten, d.h. es sollen 2 GB Speicher zugewiesen
werden. Java startet jedoch gar nicht erst, sondern bringt gleich die
Fehlermeldung:



Hi,
kannst Du Speicher reservieren, der ein wenig unter der 2 GB Grenze liegt?

Mal abgesehen davon, dass es nicht normal ist so viel Speicher
auf einmal zu reservieren. ;-)

Christian

Ähnliche fragen