Megtudja, a méret a java kupac memória mérete

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.

Megtudja, a méret a java kupac memória mérete

Á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 - A kezdeti mérete Java kupac «Java kupac mérete»
-xmx - Állítsa be a maximális méret a Java kupac «Java kupac mérete»

Megtudja, a méret a java kupac memória mérete

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:

Megtudja, a méret a java kupac memória mérete

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 kupac memória mérete

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.

Kapcsolódó cikkek