Ich habe die Werte von PermSize und MaxPermSize mit JAVA_OPTS Variable von tomcat wie untenWarum ist der eingestellte und tatsächliche Wert von PermSize und MaxPermSize unterschiedlich?
JAVA_OPTS="$JAVA_OPTS -XX:PermSize=512M"
JAVA_OPTS="$JAVA_OPTS -XX:MaxPermSize=512M"
und die Werte von Xms und Xmx eingestellt als
JAVA_OPTS="$JAVA_OPTS -Xms1024M"
JAVA_OPTS="$JAVA_OPTS -Xmx1024M"
aber wenn ich überprüfen die tatsächliche Größe perm-gen den Befehl jmap -heap [Prozess-ID] mit erscheinen sie als
Heap Configuration:
MinHeapFreeRatio = 40
MaxHeapFreeRatio = 70
MaxHeapSize = 792723456 (756.0MB)
NewSize = 1310720 (1.25MB)
MaxNewSize = 17592186044415
OldSize = 5439488 (5.1875MB)
NewRatio = 2
SurvivorRatio = 8
**PermSize = 21757952 (20.75MB)**
**MaxPermSize = 85983232 (82.0MB)**
G1HeapRegionSize = 0 (0.0MB)
Perm Generation:
**capacity = 69271552 (66.0625MB)**
**used = 69247376 (66.03944396972656MB)**
**free = 24176 (0.0230560302734375MB)**
**99.96509967035242% used**
Warum die tatsächliche allocatio ist n des Permgenraums anders, wenn mit den Attributen PermSize und MaxPermSize abgestimmt wurde?
Zusatzinfo: Der RAM-Speicher der Linux-Rechner, auf dem der Tomcat-Server installiert ist:
total used free shared buffers cached
Mem: 3089928 3006592 83336 0 67828 1874144
-/+ buffers/cache: 1064620 2025308
Swap: 1020088 112 1019976
Ich würde vermuten, dass Sie einfach eine zu große Zahl im Vergleich zum gesamten Heap angegeben. Warum sollten Sie eine Dauerwelle haben, die halb so groß ist wie Ihr gesamter Haufen? – biziclop
@praveen Was ist die Java-Version, die Sie verwenden? –
'17592186044415 MB' ??? – Thomas