Ich habe derzeit einige Probleme mit Java. Es wird aufgrund von Heap-Problemen nicht gestartet. Aber ich habe mehr als 9 GB RAM frei (oder sogar 16 GB, wenn Sie davon ausgehen, dass der Cache leer ist). Dies ist der Fehler, den ich bekomme (und der free
Befehl)
root@server: ~ # java
Error occurred during initialization of VM
Could not reserve enough space for object heap
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
root@server: ~ # free
total used free shared buffers cached
Mem: 25165824 15941148 9224676 0 0 7082176
-/+ buffers/cache: 8858972 16306852
Swap: 0 0 0
Ich verwende ein 64-Bit-Debian auf einem virtualisierten Server. Die Virtualisierungssoftware ist OpenVZ. Dies ist meine Java-Version (ich kann diesen Befehl ausführen, nachdem ich zwei meiner VMs gestoppt habe (4 laufen derzeit)) :
root@server: ~ # java -version
java version "1.7.0_45"
Java(TM) SE Runtime Environment (build 1.7.0_45-b18)
Java HotSpot(TM) 64-Bit Server VM (build 24.45-b08, mixed mode)
Was könnte ich tuen?
Wie gewünscht:
root@server: ~ # cat /proc/meminfo
MemTotal: 25165824 kB
MemFree: 11723412 kB
Cached: 4597552 kB
Active: 9692308 kB
Inactive: 3322544 kB
Active(anon): 7411960 kB
Inactive(anon): 1005340 kB
Active(file): 2280348 kB
Inactive(file): 2317204 kB
Unevictable: 0 kB
Mlocked: 0 kB
SwapTotal: 0 kB
SwapFree: 0 kB
Dirty: 960 kB
Writeback: 0 kB
AnonPages: 8417300 kB
Shmem: 21504 kB
Slab: 427452 kB
SReclaimable: 383424 kB
SUnreclaim: 44028 kB
Reguest2:
root@server: ~ # cat /proc/user_beancounters
Version: 2.5
uid resource held maxheld barrier limit failcnt
10023468: kmemsize 399250512 506245120 5053325720 5558658292 0
lockedpages 0 8 246744 246744 0
privvmpages 6005602 6291447 6291456 6291456 221
shmpages 8576 8608 579124 579124289562 0
dummy 0 0 9223372036854775807 9223372036854775807 0
numproc 598 1236 30000 30000 0
physpages 4634494 6291456 6291456 6291456 0
vmguarpages 0 0 6291456 9223372036854775807 0
oomguarpages 1529371 2144671 6291456 9223372036854775807 0
numtcpsock 62 164 30000 30000 0
numflock 25 39 1000 1100 0
numpty 13 24 512 512 0
numsiginfo 10 75 1024 1024 0
tcpsndbuf 3330352 4153232 1179110194 1684441906 0
tcprcvbuf 1216896 34410032 1179110194 1684441906 0
othersockbuf 270504 537552 589555096 1094886808 0
dgramrcvbuf 0 67048 589555096 589555096 0
numothersock 287 333 30000 30000 0
dcachesize 355559855 446054103 1103879952 1136996352 0
numfile 4766 7745 250000 250000 0
dummy 0 0 9223372036854775807 9223372036854775807 0
dummy 0 0 9223372036854775807 9223372036854775807 0
dummy 0 0 9223372036854775807 9223372036854775807 0
numiptent 14 14 1000 1000 0
root@server: ~ # java
Error occurred during initialization of VM
Could not reserve enough space for object heap
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
root@server: ~ # cat /proc/user_beancounters
Version: 2.5
uid resource held maxheld barrier limit failcnt
10023468: kmemsize 399246622 506245120 5053325720 5558658292 0
lockedpages 0 8 246744 246744 0
privvmpages 6005601 6291447 6291456 6291456 233
shmpages 8576 8608 579124 579124289562 0
dummy 0 0 9223372036854775807 9223372036854775807 0
numproc 598 1236 30000 30000 0
physpages 4635460 6291456 6291456 6291456 0
vmguarpages 0 0 6291456 9223372036854775807 0
oomguarpages 1529376 2144671 6291456 9223372036854775807 0
numtcpsock 64 164 30000 30000 0
numflock 25 39 1000 1100 0
numpty 13 24 512 512 0
numsiginfo 10 75 1024 1024 0
tcpsndbuf 3365232 4153232 1179110194 1684441906 0
tcprcvbuf 1249664 34410032 1179110194 1684441906 0
othersockbuf 270504 537552 589555096 1094886808 0
dgramrcvbuf 0 67048 589555096 589555096 0
numothersock 287 333 30000 30000 0
dcachesize 355559855 446054103 1103879952 1136996352 0
numfile 4768 7745 250000 250000 0
dummy 0 0 9223372036854775807 9223372036854775807 0
dummy 0 0 9223372036854775807 9223372036854775807 0
dummy 0 0 9223372036854775807 9223372036854775807 0
numiptent 14 14 1000 1000 0
vzmemcheck -vA
? Können Sie cat /proc/user-beancounter
vor und nach dem Fehler.
cat /proc/user-beancounter
ist in deinem Container erledigt.
cat /proc/meminfo