Na této stránce lze zobrazit a upravit parametry konfigurace prostředí JVM (Java Virtual Machine) procesu pro aplikační server.
Chcete-li zobrazit tuto stránku konzoly pro správu, připojte se ke konzole pro správu a přejděte na panel prostředí Java Virtual Machine.
V případě platformy IBM i a distribuovaných platforem klepněte na volbu Servery > Typy serverů > Aplikační servery platformy WebSphere > název_serveru. Poté v části Infrastruktura serveru klepněte na volbu Správa procesů a prostředí Java > Definice procesu > Prostředí JVM.
Aplikační server | Klepněte na volbu Servery > Typy serverů > Aplikační servery platformy WebSphere > název_serveru. Poté v části Infrastruktura serveru klepněte na volbu Správa procesů a prostředí Java > Definice procesu > Řízení > Prostředí JVM. |
Správce zavedení | Klepněte na volbu Správa systému > Správce zavedení. Poté v části Infrastruktura serveru klepněte na volbu Správa procesů a prostředí Java > Definice procesu > Řízení > Prostředí JVM. |
Agent uzlu | Klepněte na volbu Správa systému > Agent uzlu > agent_uzlu. Poté v části Infrastruktura serveru klepněte na volbu Správa procesů a prostředí Java > Definice procesu > Prostředí JVM. |
Aplikační server | Servery > Typy serverů > Aplikační servery platformy WebSphere > název_serveru. Poté v části Infrastruktura serveru klepněte na volbu Správa procesů a prostředí Java > Definice procesu > Prostředí JVM. |
Správce zavedení | Správa systému > Správce zavedení. Poté v části Infrastruktura serveru klepněte na volbu Správa procesů a prostředí Java > Definice procesu > Prostředí JVM. |
Agent uzlu | Správa systému > Agent uzlu > agent_uzlu. Poté v části Infrastruktura serveru klepněte na volbu Správa procesů a prostředí Java > Definice procesu > Prostředí JVM. |
Určuje standardní cestu ke třídám, kde kód prostředí JVM (Java Virtual Machine) vyhledává třídy.
Pokud do tohoto pole potřebujete zadat cestu ke třídám, zadejte každou položku cesty ke třídám do samostatného řádku tabulky. Za jednotlivými položkami není nutné zadávat znak dvojtečky nebo středníku.
Datový typ | Řetězec |
Určuje třídy a prostředky samozavádění pro kód prostředí JVM. Tato volba je dostupná pouze pro instrukce prostředí JVM podporující třídy a prostředky samozavádění.
Pokud do tohoto pole potřebujete zadat cestu ke třídám, zadejte každou položku cesty ke třídám do řádku tabulky. Za jednotlivými položkami není nutné zadávat znak dvojtečky nebo středníku.
Pokud do tohoto pole potřebujete přidat více cest ke třídám, můžete k oddělení těchto cest ke třídám použít dvojtečku (:) nebo středník (;) v závislosti na operačním systému, kde je prostředí JVM umístěno.
Pokud do tohoto pole potřebujete přidat více cest ke třídám, můžete k oddělení těchto cest ke třídám použít dvojtečku (:) nebo středník (;) v závislosti na operačním systému, kde je daný uzel umístěn.
Určuje, zda má být při načítání tříd generován podrobný ladicí výstup. Při výchozím nastavení není povolen podrobný výstup načítání tříd.
Je-li povolen podrobný výstup načítání tříd, je ladicí výstup odesílán do jednoho z protokolů nativních procesů.
Datový typ | Logický |
Výchozí hodnota | false |
Určuje, zda má být při operacích úklidu generován podrobný ladicí výstup. Ve výchozím stavu není podrobný výstup operací úklidu povolen.
Je-li povolen podrobný výstup operací úklidu, je ladicí výstup odesílán do jednoho z protokolů nativních procesů.
Datový typ | Logický |
Výchozí hodnota | false |
Je-li toto pole povoleno, bude do výstupního proudu při každém spuštění operace uvolnění mezipaměti zapsána sestava. Tato sestava by vám měla umožnit vytvořit si představu o funkci procesu uvolňování mezipaměti prostředí Java.
83,29/3724,32 × 100 = 2,236 %
Pokud uvolňování paměti zabírá více než 5 % času a dochází-li k uvolňování paměti často, bude zřejmě třeba zvětšit volnou paměť prostředí Java.
Chcete-li zjistit, zda přidělená volná paměť narůstá, prohlédněte si procento volné paměti, která zůstane po každém cyklu uvolňování paměti nepřidělena, a ověřte, zda se stále nezmenšuje. Jestliže se procento volného prostoru stále zmenšuje, dochází mezi uvolňováním paměti k postupnému nárůstu velikosti volné paměti. Tato situace může naznačovat, že aplikace nevrací paměť.
Na platformě z/OS můžete informace o volné paměti JVM zobrazit také pomocí příkazu konzoly MVS modify display, jvmheap. Kromě toho můžete zkontrolovat aktivitu serveru a intervalové záznamy SMF. Údaj o velikosti volné paměti JVM je zpřístupněn také v rozhraní PMI a lze jej sledovat pomocí nástroje Sledování výkonu Tivoli.
Určuje, zda má být při volání nativních metod generován podrobný ladicí výstup. Při výchozím nastavení není podrobný výstup pro aktivity rozhraní JNI (Java Native Interface) povolen.
Datový typ | Logický |
Výchozí hodnota | false |
Určuje počáteční velikost volné paměti, kterou má k dispozici kód prostředí JVM (v megabajtech). Je-li toto pole ponecháno prázdné, bude použita výchozí hodnota.
V systémech z/OS je výchozí počáteční velikost volné paměti pro řadič 48 MB a výchozí počáteční velikost volné paměti pro obslužný proces 128 MB. Tyto výchozí hodnoty se vztahují na 31bitové i 64bitové konfigurace.
V systémech IBM i a na distribuovaných platformách je výchozí počáteční velikost volné paměti 50 MB.
Zvýšením hodnoty tohoto nastavení lze zlepšit výkon při spuštění. Sníží se počet výskytů uvolňování paměti a bude dosaženo zvýšení výkonu o 10 %.
Zvýšení velikosti volné paměti prostředí Java dále zvyšuje propustnost až do okamžiku, kdy volná paměť překročí kapacitu fyzické paměti. Pokud velikost volné paměti překročí dostupnou kapacitu fyzické paměti, dojde ke stránkování, což podstatně sníží výkon prostředí Java.
Určuje maximální velikost volné paměti, kterou má k dispozici prostředí JVM (v megabajtech). Je-li toto pole ponecháno prázdné, bude použita výchozí hodnota.
Výchozí maximální velikost volné paměti je 256 MB. Tato výchozí hodnota platí pro 31bitové i 64bitové konfigurace.
Zvýšením hodnoty nastavení maximální velikosti volné paměti lze zvýšit výkon při spuštění. Při zvýšení maximální velikosti volné paměti lze snížit počet operací uvolnění paměti a dosáhnout zvýšení výkonu o 10 %.
Zvýšení hodnoty tohoto nastavení obvykle zvýší propustnost až do okamžiku, kdy volná paměť překročí kapacitu fyzické paměti. Pokud velikost volné paměti překročí dostupnou kapacitu fyzické paměti, dojde ke stránkování, což podstatně sníží výkon prostředí Java. Je tedy důležité, aby hodnota zadaná pro tuto vlastnost umožňovala obsažení celého obsahu volné paměti ve fyzické paměti.
Chcete-li předejít stránkování, zadejte takovou hodnotu této vlastnosti, která poskytne alespoň 256 MB fyzické paměti pro každý procesor a alespoň 512 MB fyzické paměti pro každý aplikační server. Je-li využití procesoru nízké v důsledku častého přepínání stránek, pokud možno nezvětšujte maximální velikost volné paměti, ale velikost dostupné paměti. Zvětšení maximální velikosti volné paměti může výkon spíše snížit, než zvýšit.
Je-li v systémech IBM i tato vlastnost nastavena na hodnotu 0, bude program pro uvolnění paměti spuštěn pouze při překročení prahové hodnoty pro tento program. Při zadání jiné hodnoty než 0 se program pro uvolnění paměti spustí vždy, když velikost volné paměti dosáhne zadané maximální velikosti. Narozdíl od běžného programu pro uvolnění paměti však při dosažení maximální velikosti musí všechny podprocesy aplikace počkat na dokončení procesu uvolnění paměti a teprve poté mohou pokračovat v činnosti. Tato situace může způsobovat nežádoucí prodlevy. Proto používejte hodnotu maximální velikosti volné paměti pouze jako záchranný prostředek pro situace, kdy dojde k neočekávanému nárůstu velikosti volné paměti, a k zajištění, aby velikost volné paměti nepřekročila velikost dostupné paměti. Za běžných okolností není zadané maximální velikosti volné paměti nikdy dosaženo.
Určuje, zda má být použita podpora profilovacího modulu HProf. Chcete-li použít jiný profilovací modul, zadejte vlastní nastavení profilovacího modulu pomocí nastavení Argumenty modulu HProf. Ve výchozím stavu není podpora profilovacího modulu HProf povolena.
Pokud vlastnost Spustit podporu HProf nastavíte na hodnotu Ano, je nutné zadat argumenty příkazového řádku profilovacího modulu jako hodnoty vlastnosti Argumenty modulu HProf.
Datový typ | Logický |
Výchozí hodnota | false |
Určuje argumenty příkazového řádku profilovacího modulu, které mají být předány kódu prostředí JVM spouštějícímu proces aplikačního serveru. Aby bylo možné zadat argumenty, musí být povolena podpora profilovacího modulu HProf.
Argumenty modulu HProf jsou povinné pouze v případě, že je vlastnost Spustit podporu HProf nastavena na hodnotu Ano.
Určuje, zda má být prostředí JVM spouštěno v režimu ladění. Při výchozím nastavení není podpora ladicího režimu povolena.
Pokud vlastnost Režim ladění nastavíte na hodnotu Ano, je nutné zadat argumenty příkazového řádku ladění jako hodnoty vlastnosti Argumenty ladění.
Datový typ | Logický |
Výchozí hodnota | false |
Určuje argumenty příkazového řádku pro ladění, které mají být předány kódu prostředí JVM spouštějícímu proces aplikačního serveru. Argumenty lze zadat v případě, že je vlastnost Režim ladění nastavena na hodnotu Ano.
Pokud povolíte ladění na více aplikačních serverech ve stejném uzlu, ověřte, zda pro argument adresy není zadána stejná hodnota. Argument adresy definuje port použitý k ladění. Pokud dva servery, u kterých je povoleno ladění, používají stejný port ladění, nemusí být správně spuštěny. U obou serverů může být například stále nakonfigurován argument ladění address=7777, což je výchozí hodnota argumentu adresy ladění.
Pokud povolíte ladění na více aplikačních serverech, ověřte, zda pro argument adresy není zadána stejná hodnota. Argument adresy definuje port použitý k ladění. Pokud dva servery, u kterých je povoleno ladění, používají stejný port ladění, nemusí být správně spuštěny. U obou serverů může být například stále nakonfigurován argument ladění address=7777, což je výchozí hodnota argumentu adresy ladění.
Datový typ | Řetězec |
Jednotky | Argumenty příkazového řádku prostředí Java |
Určuje argumenty příkazového řádku, které mají být předány kódu prostředí JVM (Java Virtual Machine) spouštějícímu proces aplikačního serveru.
Argument hotRestartSync zadejte, pokud chcete povolit funkce teplého restartu synchronizační služby. Tato funkce informuje službu synchronizace o tom, že je instalace spuštěna v prostředí, v němž nejsou prováděny aktualizace konfigurace, není-li správce zavedení aktivní. Služba proto nemusí při restartování serverů agenta uzlu nebo správce zavedení provádět úplné porovnání úložišť. Povolením této funkce zlepšíte efektivitu první synchronizační operace po restartu správce zavedení nebo agenta uzlu, zvláště u instalací, které obsahují buňky se smíšenými verzemi, používají několik uzlů a spouští několik aplikací.
Tento argument se používá pouze na platformě z/OS. Chcete-li nastavit časový limit pro odpovědi na požadavky odeslané z klienta, určete argument -Dcom.ibm.CORBA.RequestTimeout= časový_limit. Pro tento argument lze použít volbu -D. Hodnota časový_limit udává časový limit v sekundách. Pokud v dané síti dochází k extrémním zpožděním, doporučuje se zadat větší hodnotu s cílem předejít častému vypršení časového limitu. Zadáte-li příliš nízkou hodnotu, může dojít k vypršení časového limitu pro aplikační server, který se podílí na správě pracovní zátěže, ještě předtím, než obdrží odezvu.
Tento argument určete pouze v případech, kdy v aplikaci dochází k problémům s vypršením časového limitu. Pro tento argument nejsou k dispozici žádné doporučené hodnoty.
Tento argument se používá pouze na platformě z/OS. Pokud dochází k aktualizaci stavu správy pracovní zátěže klienta příliš brzy nebo příliš pozdě, můžete změnit hodnotu vlastnosti com.ibm.websphere.wlm.unusable.interval určením argumentu -Dcom.ibm.websphere.wlm.unusable.interval=časový_limit. Tato vlastnost určuje čas v sekundách, po který klient správy pracovní zátěže čeká poté, co je některý server označen jako nedostupný, než je proveden opětný pokus o kontaktování klienta. Tento argument používá volbu -D. . Výchozí hodnota je 300 sekund. Pokud je pro danou vlastnost nastavena vysoká hodnota, bude server označen jako nedostupný po dlouhou dobu. V důsledku toho nemůže správce pracovní zátěže provést až do skončení časové prodlevy aktualizaci stavu správy pracovní zátěže klienta.
Tento argument se používá pouze na platformě z/OS. Určete argument -Dcom.ibm.ws.buffermgmt.impl.WsByteBufferPoolManagerImpl=, chcete-li určit, že úložný prostor jednotlivých přímých bajtových vyrovnávacích pamětí má být uvolněn ihned, jakmile již vyrovnávací paměť není zapotřebí. Jedinou podporovanou hodnotou tohoto argumentu je hodnota com.ibm.ws.buffermgmt.impl.ZOSWsByteBufferPoolManagerImpl.
-Dcom.ibm.ws.buffermgmt.impl.WsByteBufferPoolManagerImpl=com.ibm.ws.buffermgmt.impl.ZOSWsByteBufferPoolManagerImpl
Na platformě z/OS je třeba tento argument zadat také v případě, že určíte přizpůsobenou vlastnost zaioFreeInitialBuffers pro kanál TCP tak, aby kanál uvolnil počáteční vyrovnávací paměti pro čtení použité u nových připojení, jakmile připojení již nebude tyto vyrovnávací paměti potřebovat.
Technologie Java HotSpot Technology v prostředí Java SE 6 používá adaptivní prostředí JVM obsahující algoritmy pro postupnou průběžnou optimalizaci zpracování bajtového kódu. Modul JVM pracuje ve dvou režimech: -server a -client. Ve většině případů je výhodnější používat režim -server , který dlouhodobě poskytuje účinnější běhový výkon.
Při použití výchozího režimu -client je doba spouštění serveru kratší a je obsazen menší prostor paměti. Dlouhodobý výkon je však nižší. Používejte proto výkonnější režim -server, pokud není doba spouštění serveru důležitější než jeho výkon. Výkonové rozdíly mezi režimy -client a -server lze zjistit sledováním velikosti procesů a doby spouštění serveru.
Argument -Xverify:none zadejte v situacích, kdy chcete při zavádění třídy vynechat fázi ověřování třídy. Argument -Xverify:none umožňuje zakázat verifikaci tříd Java, což může dobu spouštění zkrátit o 10-15 %. Při zadání tohoto argumentu však nejsou zjištěna poškozená nebo neplatná data třídy. Při načtení poškozených dat třídy se prostředí JVM může chovat neočekávaným způsobem nebo se zhroutit.
Zadáním argumentu -Xnoclassgc můžete zakázat uvolnění mezipaměti pro třídy. Výsledkem použití tohoto argumentu je zvýšení míry opětného použití tříd a mírné zlepšení výkonnosti. Prostředky vlastněné těmito třídami se však stále používají, i když třídy nejsou volány.
Pomocí nastavení konfigurace verbose:gc můžete sledovat uvolňování paměti. Z výsledného výstupu pak můžete zjistit, jaký má uvolnění těchto prostředků vliv na výkon.
Pokud zadáte argument -Xnoclassgc, při každé nové implementaci aplikace byste měli restartovat aplikační server, a vyčistit tak třídy a statická data z předchozí verze aplikace.
Argument -Xgcthreads použijte v případě, kdy chcete použít několik podprocesů uvolňování paměti současně. Toto uvolňování paměti je označováno jako paralelní uvolňování paměti. Tento argument je platný pouze pro vývojovou sadu IBM Developer Kit.
Při zadání této hodnoty do pole Generické argumenty prostředí JVM zadejte rovněž počet procesorů osazených v počítači. Pokud je počítač osazen například třemi procesory, zadejte argument -Xgcthreads 3. U uzlu s n procesory je výchozí počet podprocesů n.
Argument -Xnocompactgc zadejte, pokud chcete zakázat komprimaci volné paměti. Komprimace volné paměti je nejnáročnější operace uvolňování paměti. Při používání vývojové sady IBM Developer Kit byste měli komprimaci volné paměti zabránit. Vypnutím komprimace volné paměti se lze vyhnout veškeré asociované režii.
Pomocí argumentu -Xgcpolicy lze nastavit zásadu uvolňování paměti. Tento argument je platný pouze pro vývojovou sadu IBM Developer Kit.
Chcete-li optimalizovat propustnost a nevadí, pokud dojde k dlouhým prodlevám při uvolňování paměti, nastavte tento argument na hodnotu optthruput. Jedná se o výchozí parametr a současně doporučené nastavení.
Pokud používáte zásadu uvolňování paměti, nastavte tento argument na hodnotu gencon. Generační schéma se pokusí dosáhnout vysoké prostupnosti spolu se snížením doby pozastavení uvolňování mezipaměti. K dosažení tohoto cíle je halda rozdělena na nové a staré segmenty. Objekty s dlouhou životností jsou přesunuty do starého prostoru, zatímco objekty s krátkou životností jsou pomocí uvolňování mezipaměti rychle přesunuty do nového prostoru. Zásada gencon poskytuje významné výhody pro řadu aplikací. Není však vhodná pro všechny aplikace a její ladění je obvykle složitější.
Tento argument nastavte na hodnotu optavgpause, pokud má souběžné značení použité ke sledování podprocesů aplikace začít od zásobníku před zaplněním volné paměti. Při zadání tohoto parametru jsou prodlevy programu pro uvolnění paměti rovnoměrné a k dlouhým prodlevám nedochází. Při použití této zásady však dojde k omezení propustnosti, protože podprocesy mohou provádět operace navíc.
Chcete-li zvýšit výkon v systémech s více procesory, které obvykle používají více než osm procesorů, nastavte tento argument na hodnotu subpool. Tato zásada je k dispozici pouze v procesorech IBM System i, System p a System z. Zásada subpool se podobá zásadě optthruput, avšak halda je rozdělena do dílčích fondů, které poskytují zvýšenou rozšiřitelnost pro alokaci objektů.
Prostředí Java SE 6 (Java Platform, Standard Edition 6) obsahuje funkci uvolňování paměti podle generací, která umožňuje, aby samostatné fondy paměti obsahovaly objekty s různým stářím. V rámci cyklu uvolnění mezipaměti jsou objekty uvolňovány navzájem nezávisle, podle svého stáří. Pomocí dalších parametrů můžete nastavit velikosti jednotlivých fondů paměti. Chcete-li dosáhnout lepšího výkonu, nastavte velikost fondu obsahujícího objekty s krátkou životností tak, aby životnost objektů ve fondu nebyla delší než jeden cyklus uvolnění paměti. Velikost nového fondu generací lze určit pomocí parametrů NewSize a MaxNewSize.
-XX:NewSize=dolní_limit -XX:MaxNewSize=horní_limit -XX:SurvivorRatio=nový_poměr
Jako alternativu můžete nastavit 50 až 60 % celkové velikosti volné paměti do fondu nové generace.
Minimální procentuální část volné paměti můžete změnit pomocí parametru -Xminf. Pokud velikost volného místa klesne pod určenou hodnotu, zvýší se velikost volné paměti. V režimu s povolenou obnovou udává tento argument minimální procentní část volného prostoru pro paměť middlewaru a přechodnou volnou paměť. Hodnota tohoto argumentu se zadává jako číslo s plovoucí desetinnou čárkou v rozsahu 0 až 1. Výchozí hodnota je 0,3 (30 %).
Určením argumentu -Xshareclasses:none můžete zakázat volbu sdílení tříd pro konkrétní proces. Volba sdílení tříd, která je k dispozici v rámci prostředí Java SE 6, umožňuje sdílet třídy v mezipaměti. Sdílením tříd v mezipaměti lze zkrátit dobu spouštění a snížit dopady na paměť. Volbu sdílení tříd mohou používat procesy, jako jsou aplikační servery, agenti uzlů a správci zavedení.
Použijete-li tuto volbu, měli byste vymazat mezipaměť, není-li proces používán. Mezipaměť lze vymazat voláním obslužného programu kořenový_adresář_aplikačního_serveru/bin/clearClassCache.bat/sh nebo zastavením procesu a jeho opětným spuštěním.
Datový typ | Řetězec |
Jednotky | Argumenty příkazového řádku prostředí Java |
Určuje úplný název cesty ke spustitelnému souboru JAR, který používá kód prostředí JVM.
Datový typ | Řetězec |
Jednotky | Cesta |
Určuje, zda má být zakázána volba kompilátoru JIT (just-in-time) pro kód prostředí JVM.
Pokud deaktivujete kompilátor JIT, sníží se významně propustnost. Kvůli výkonu se proto doporučuje ponechat volbu JIT v aktivním stavu.
Datový typ | Logický |
Výchozí hodnota | false (režim JIT povolen) |
Doporučeno | Povolený režim JIT |
Určuje nastavení prostředí JVM pro daný operační systém.
Při spuštění proces používá nastavení prostředí JVM určená pro server jako nastavení prostředí JVM pro operační systém.
Při spuštění proces používá nastavení prostředí JVM určená pro uzel jako nastavení prostředí JVM pro operační systém.
Odkazy s označením (online) vyžadují přístup k Internetu.