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í JVM.
V případě platformy i5/OS 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 vyhledává třídy.
Do řádku tabulky zadejte jednotlivé položky cesty ke třídám. Za jednotlivými položkami není nutné zadávat znak dvojtečky nebo středníku.
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í.
Jednotlivé cesty lze oddělovat dvojtečkami (:) nebo středníky (;) v závislosti na operačním systému, v němž je prostředí JVM umístěno.
Jednotlivé cesty lze oddělovat dvojtečkami (:) nebo středníky (;) v závislosti na operačním systému, v němž je uzel umístěn.
Datový typ | Řetězec |
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 Tivoli Sledování výkonu.
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 rozhraní JNI 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).
Zvýšením minimální velikosti volné paměti 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ětšováním velikosti volné paměti prostředí Java lze zlepšovat propustnost až do okamžiku, kdy volná paměť překročí kapacitu fyzické paměti. Pokud však velikost volné paměti překročí dostupnou kapacitu fyzické paměti, dojde ke stránkování, což podstatně sníží výkon prostředí Java.
Datový typ | Celé číslo |
Výchozí hodnota |
|
Určuje maximální velikost volné paměti, kterou má k dispozici kód prostředí JVM (v megabajtech).
Zvýšením velikosti volné paměti lze zlepšit výkon při spuštění. Zvýšením velikosti volné paměti lze snížit počet operací uvolnění paměti a dosáhnout zvýšení výkonu o 10 %.
Zvětšováním velikosti volné paměti modulu Java lze zlepšovat propustnost až do okamžiku, kdy volná paměť překročí kapacitu fyzické paměti. Jakmile velikost volné paměti překročí kapacitu fyzické paměti, začne docházet ke stránkování volné paměti, což má za následek drastické snížení výkonu prostředí Java. Z tohoto důvodu je velmi důležité nastavit hodnotu maximální velikosti volné paměti na hodnotu, která zajistí, že celý obsah volné paměti bude obsažen 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 i5/OS 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.
Datový typ | Celé číslo |
Výchozí hodnota | V systémech z/OS je výchozí hodnota 256. Udržujte tuto hodnotu dostatečně nízkou, aby nedocházelo ke stránkování. |
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 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í.
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 je opakované uvolňování paměti prováděno pro stejnou sadu tříd, můžete uvolňování paměti zakázat. Funkce uvolnění mezipaměti pro třídy je ve výchozím nastavení aktivována.
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.
Argument -Xinitsh zadejte, pokud chcete nastavit počáteční velikost volné paměti pro objekty třídy. Společně s objekty třídy jsou ukládány také definice metod a statická pole. Tento argument lze použít pouze ve spojení s vývojovou sadou IBM Developer Kit.
Ačkoli velikost volné paměti systému není shora nijak omezena, nastavte její počáteční velikost na hodnotu, která je dostatečně velká na to, aby vyhověla obvyklému zatížení daného prostředí. Pokud bude mít prostředí JVM nedostatek volné paměti, pomocí volání požádá správce paměti operačního systému o další prostor. Tato volání využívají systémové prostředky a mohou nepříznivě ovlivnit výkon.
Produkt obsahuje přibližně 8000 tříd. Toto číslo můžete spolu s průměrnou velikostí těchto tříd použít k odhadu počáteční velikosti volné paměti systému. Pokud víte, které třídy daná aplikace používá, zahrňte tyto třídy do výpočtu.
Pomocí argumentu -Xgpolicy lze nastavit zásadu uvolňování paměti. Tento argument je platný pouze pro vývojovou sadu IBM Developer Kit.
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 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í.
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
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 %).
Technologie Java HotSpot Technology v prostředí Java SE 6 používá adaptivní prostředí JVM obsahující algoritmy pro optimalizaci zpracování bajtového kódu v průběhu času. 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.
Tento argument se vztahuje pouze na platformu 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 vztahuje pouze na platformu 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 vztahuje pouze na platformu 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í tyto vyrovnávací paměti přestane potřebovat.
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.
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 Tivoli Sledování výkonu.
Odkazy s označením (online) vyžadují přístup k Internetu.