Java 8, başladıktan hemen sonra Metaspace için 1G ayırır. Bu, minimum metaspace boyutunun 1G olduğu anlamına gelir. Ama MetaspaceSize 300m ve MaxMetaspaceSize 400m'ye kurdum. Neden Java daha fazla ayırıyor?Java 8, Metaspace'e rağmen minimum 1G (maksimum) MetaspaceSize
Java Sürüm
$ java -version
java version "1.8.0_45"
Java(TM) SE Runtime Environment (build 1.8.0_45-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode)
VM Bayraklar
$ jcmd 21689 VM.flags
21689:
-XX:CICompilerCount=3 -XX:ConcGCThreads=1 -XX:G1HeapRegionSize=1048576 -XX:InitialHeapSize=62914560 -XX:+ManagementServer -XX:MarkStackSize=4194304 -XX:MaxHeapSize=1006632960 -XX:MaxMetaspaceSize=399998976 -XX:MaxNewSize=603979776 -XX:MetaspaceSize=299999232 -XX:MinHeapDeltaBytes=1048576 -XX:NativeMemoryTracking=summary -XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:+UseFastUnorderedTimeStamps -XX:+UseG1GC
NMT
[[email protected] bin]$ jcmd 21689 VM.native_memory
21689:
Native Memory Tracking:
Total: reserved=2769543KB, committed=1311159KB
- Class (reserved=1221904KB, committed=197904KB)
(classes #36543)
(malloc=3344KB #44041)
(mmap: reserved=1218560KB, committed=194560KB)
Ve sonra
Total: reserved=2402748KB, committed=150796KB
- Class (reserved=1056956KB, committed=7868KB)
(classes #1300)
(malloc=188KB #564)
(mmap: reserved=1056768KB, committed=7680KB)
sana düşünüyorum MetaSpace toplamları değil, Java Heap toplamlarını gösteriyor. –
Java Heap'i komut sonuçlarından kaldırdım –
Özellikle, – the8472