Megtudja, a méret a java kupac memória mérete
Megtudja, a méret a Java Heap Memory Size
Van egy probléma a Java Heap Memory Size, meg kell helyesen válasszuk meg minden normálisan működött (például webszerver Tomcat, a Liferay, OpenMRS és így tovább), és a cikk „Tanuld meg a mérete Java Heap Memory Size» fogom mondani, hogyan lehet megtalálni a legjobb érték java.
Most megmutatjuk, hogyan kell használni a XX-: + PrintFlagsFinal tudni a méretét kupac «kupacmérete». A Java, az alapértelmezett maximális kupac méretét és oszlanak alapján az algoritmus - ergonómia (ergonómia algoritmus).
Csakúgy számított Heap mérete?
Kezdeti kupacméret - ez az arány 1/64 fizikai memória 1 GB. (Kezdeti kupacméret 1/64 fizikai memória akár 1Gbyte)
A maximális kupacméret - az arány 1/4 fizikai memória 1 GB. (Maximum kupac mérete 1/4 fizikai memória akár 1Gbyte)
Azonban az algoritmus nagyobb, csak referencia, változhat a VM.
Áttekintés a Java memória
Egy rövid áttekintés a Java memória szerkezetek:
1. Java kupacméret
Egy hely, ahol tárolni által létrehozott objektumok egy Java alkalmazás, akkor, amikor a Garbage Collection vesz memória Java-alkalmazásokat. Mert „nehéz folyamat Java» hiánya, a kupac mérete okoz egy népszerű hiba: java.lang.OutOfMemoryError: Java kupac helyet.
-XMS
-xmx
a következő alapértelmezett értékeket juttatott a JVM:
Java kupac mérete
InitialHeapSize = 64781184 bájt (61,7 MB) és MaxHeapSize = 1038090240 bájt (990Mb).
PermGen Méret
PermSize = 21757952 bájt (20,75 MB), MaxPermSize = 174.063.616 bájt (166 MB)
Menet Stack Size
ThreadStackSize = 1024 KB (1 MB)
Dedikált méret a kupac (heap memória mérete) elég közel van az eredménye az ergonómia.
#ergonomics algoritmus
Kezdeti kupacméret = 4096M / 64 = 64 MByte
Maximális kupacmérete = 4096M / 4 = 1024 MB
A tesztkörnyezet a következő tulajdonságokkal rendelkezik:
OS. Mac OSX 10.9
RAM. 8GB RAM
CPU. 4 x Potsessor
JDK. 1.7
Futtassa a következő parancsot, hogy teszteljék:
Tudjon meg Java Heap Memory Size méretét MacOS X
a következő alapértelmezett értékeket juttatott a JVM:
Java kupac mérete
InitialHeapSize = 20655360 bájt (19.69M) és MaxHeapSize = 331.350.016 bájt (316 MB).
PermGen Méret
PermSize = 21757952 bájt (20,75 Mb), MaxPermSize = 85.983.232 bájt (82 MB).
Java Stack Size
ThreadStackSize = 1024 KB (1 MB)
Dedikált memória mérete a kupac (heap memória mérete) nincs jelentősége, összehasonlítva a következő eredményt az algoritmus az ergonómia.
#ergonomics algoritmus
Kezdeti kupacméret = 8192M / 64 = 128 MB
Maximális kupacmérete = 8192M / 4 = 2048 MB
A windows
Grep nem Windows, hanem az általunk használt findstr.
A tesztkörnyezet a következő tulajdonságokkal rendelkezik:
OS. windows 8
RAM. 16 GB
CPU. 8 x processzor
JDK. 1.7
Megtudja, a méret a Java Heap Memory Size ablakokban
A következő alapértelmezett értékeket a JVM Windows operációs rendszeren azonosított:
Java kupac mérete
InitialHeapSize = 266634176 bájt (256 MB) és MaxHeapSize = 4266146816 bájt (4068 MB).
PermGen Méret
PermSize = 21757952 bájt (20,75 MB), MaxPermSize = 85.983.232 bájt (823 MB).
Java Stack Size
ThreadStackSize = 0 kilobájt. (Furcsa ...)
Dedikált memória halom mérete majdnem ugyanaz, mint az algoritmus ergonómia:
#ergonomics algoritmus
Kezdeti kupacméret = 16384/64 = 256 MB
Maximális kupacmérete = 16384/4 = 4096 MB
Kínált Java memória
Az alábbiakban adtam én ajánlást (paramétereket) az alacsony és közepes terhelési alkalmazások Java 🙂
Heap = -Xms512m -Xmx1024m
PermGen = -XX: PermSize = 64m -XX: MaxPermSize = 128M
Menet = -Xss512k
P.S: A legtöbb Java projektek 512k memória patak (thread) több, mint elég.
Mi -XX: + PrintCommandLineFlags?
Ez -XX: + PrintCommandLineFlags használt kimeneti értékek csak változtatni VM (Jele =).
Végül az alapértelmezett értékeket a halom memória, perm gem és verem mérete eltér a JVM, nem várható, hogy a JVM fogja használni az optimális érték a Java-alkalmazásokat.
Ezen úgy vélem, a "További Java Heap Memory Size méretét." Remélem tanulságos volt.