Nastavení prostředí JVM (Java Virtual Machine)

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.

[AIX Solaris HP-UX Linux Windows][IBM i] 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.

[z/OS] V případě platformy z/OS použijte jednu z následujících cest.
Informace Hodnota
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 implementace Klepněte na volbu Administrace systému > Správce implementace. 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 Administrace 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.
[AIX Solaris HP-UX Linux Windows][IBM i] V případě platformy IBM i a distribuovaných platforem použijte jednu z následujících cest.
Informace Hodnota
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 implementace Administrace systému > Správce implementace. Poté v části Infrastruktura serveru klepněte na volbu Správa procesů a prostředí Java > Definice procesu > Prostředí JVM.
Agent uzlu Administrace 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.

Cesta ke třídám

Určuje standardní cestu ke třídám, kde kód prostředí JVM 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.

Jedinými cestami ke třídám, které by měly být zadány do tohoto pole, jsou cesty ke třídám, které určují umístění následujících položek:
  • Nástroj inspekce nebo monitorování systému.
  • Soubory JAR pro produkt, který je spuštěn na tomto produktu.
  • Opravy nebo diagnostické opravy prostředí JVM.
Při přidání cest ke třídám, které určují umístění následujících položek, do tohoto pole může dojít k chybám zpracování:
  • Soubory JAR pro poskytovatele prostředků, jako je například produkt DB2. Cesty k těmto souborům JAR by měly být přidány do relevantních cest ke třídám poskytovatele.
  • Soubor JAR uživatele používaný jednou nebo více aplikacemi, které jsou spuštěny v daném produktu. Cesta k tomuto typu souboru JAR by měla být určena v každé aplikaci, která tento soubor JAR vyžaduje, nebo ve sdílených knihovnách přidružených k serveru.
  • Soubor JAR rozšíření. Pokud vyžadujete přidání souboru JAR rozšíření do systému, je vhodné použít přizpůsobenou vlastnost ws.ext.dirs prostředí JVM k určení absolutní cesty k tomuto souboru JAR. Dále můžete tento soubor JAR umístit do adresáře WAS_HOME/lib/ext/, ale použití přizpůsobené vlastnosti ws.ext.dirs prostředí JVM je doporučeným způsobem zadání cesty k souboru JAR rozšíření.
Informace Hodnota
Datový typ Řetězec

Cesta k zaváděcím třídám

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.

Jedinými cestami ke třídám, které by měly být zadány do tohoto pole, jsou cesty ke třídám, které určují umístění následujících položek:
  • Nástroj inspekce nebo monitorování systému.
  • Soubory JAR pro produkt, který je spuštěn na tomto produktu.
  • Opravy nebo diagnostické opravy prostředí JVM.
Při přidání cest ke třídám, které určují umístění následujících položek, do tohoto pole může dojít k chybám zpracování:
  • Soubory JAR pro poskytovatele prostředků, jako je například produkt DB2. Cesty k těmto souborům JAR by měly být přidány do relevantních cest ke třídám poskytovatele.
  • Soubor JAR uživatele používaný jednou nebo více aplikacemi, které jsou spuštěny v daném produktu. Cesta k tomuto typu souboru JAR by měla být určena v každé aplikaci, která tento soubor JAR vyžaduje, nebo ve sdílených knihovnách přidružených k serveru.
  • Soubor JAR rozšíření. Pokud vyžadujete přidání souboru JAR rozšíření do systému, je vhodné použít přizpůsobenou vlastnost ws.ext.dirs prostředí JVM k určení absolutní cesty k tomuto souboru JAR. Dále můžete tento soubor JAR umístit do adresáře WAS_HOME/lib/ext/, ale použití přizpůsobené vlastnosti ws.ext.dirs prostředí JVM je doporučeným způsobem zadání cesty k souboru JAR rozšíření.

Podrobný výstup načítání tříd

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.

[AIX Solaris HP-UX Linux Windows] 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ů.

Informace Hodnota
Datový typ Logický
Výchozí hodnota false

Podrobné uvolňování paměti

Určuje, zda má být při uvolňování paměti generován podrobný ladicí výstup. Ve výchozím stavu není podrobné uvolňování paměti povoleno.

[AIX Solaris HP-UX Linux Windows] Je-li povoleno podrobné uvolňování paměti, je ladicí výstup odesílán do jednoho z protokolů nativních procesů.

Informace Hodnota
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 uvolňování pamě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.

Na základě sestavy verboseGC můžete určit následující informace:
  • Kolik času stráví prostředí JVM uvolňováním paměti.
    V ideálním případě by prostředí JVM mělo uvolňováním paměti strávit méně než 5 % svého času. Chcete-li zjistit, jaké procento času stráví prostředí JVM uvolňováním paměti, vydělte čas potřebný k uvolnění paměti dobou, která uplynula od poslední operace AF, a výsledek vynásobte číslem 100. Příklad:
    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.

  • Zda přidělená paměť haldy narůstá s každým uvolňováním paměti.

    Chcete-li zjistit, zda přidělená paměť haldy narůstá, prohlédněte si procento haldy, 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 haldy. Tato situace může naznačovat, že aplikace nevrací paměť.

Pro uživatele provádějící přechod Pro uživatele provádějící přechod: Verze 7.0 a předchozí verze používají algoritmus uvolnění paměti optthruput. Ve verzi 8.0 a vyšší je výchozí volbou generační program pro uvolnění paměti. Tento algoritmus uvolnění paměti může vést ke zvýšení výkonu. Do příkazu spuštění produktu WebSphere Application Server je přidána následující volba prostředí JVM: -Xgcpolicy:gencon. Pokud chcete raději použít algoritmus uvolnění paměti optthruput, můžete volbu -Xgcpolicy:gencon odebrat. Bude použit algoritmus [Updated in September 2013]uvolnění paměti optthruput[Updated in September 2013].trns

[z/OS] 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 haldy JVM je povolen také v rozhraní PMI a lze jej sledovat pomocí nástroje Sledování výkonu Tivoli.

Podrobný výstup JNI

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.

Informace Hodnota
Datový typ Logický
Výchozí hodnota false

Počáteční velikost haldy

Určuje počáteční velikost haldy, 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.

[z/OS] 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 je 128 MB. Tyto výchozí hodnoty se vztahují na 32bitové i 64bitové konfigurace.

[AIX Solaris HP-UX Linux Windows][IBM i] V systémech IBM i a na distribuovaných platformách je výchozí počáteční velikost volné paměti 50 MB.

Doporučené postupy Doporučené postupy: Tyto výchozí hodnoty postačují pro většinu aplikací.bprac
[IBM i] Předcházení potížím Předcházení potížím: U platforem IBM i musí být hodnota počáteční velikosti volné paměti vždy nižší než hodnota maximální velikosti volné paměti. Nikdy nenastavujte vlastnosti počáteční a maximální velikosti haldy na stejnou hodnotu.gotcha

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 haldy překročí dostupnou kapacitu fyzické paměti, dojde ke stránkování, což podstatně sníží výkon.

Maximální velikost haldy

Určuje maximální velikost haldy, 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 haldy je 256 MB. Tato výchozí hodnota platí pro 32bitové i 64bitové konfigurace.

Zvýšením hodnoty nastavení maximální velikosti haldy lze zvýšit výkon při spuštění. Při zvýšení maximální velikosti haldy 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 paměť haldy překročí kapacitu fyzické paměti. Pokud velikost haldy překročí dostupnou kapacitu fyzické paměti, dojde ke stránkování, což podstatně sníží výkon. Je tedy důležité, aby hodnota zadaná pro tuto vlastnost umožňovala obsažení celého obsahu haldy ve fyzické paměti.

[z/OS] 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 haldy, ale velikost dostupné paměti. Zvětšení maximální velikosti haldy může výkon spíše snížit, než zvýšit.

Doporučené postupy Doporučené postupy: Tyto výchozí hodnoty jsou vhodné pro většinu aplikací. Vlastnost Podrobné uvolňování paměti povolte v případech, kdy podle vašeho názoru dochází k uvolňování paměti příliš často. Pokud k uvolňování paměti dochází příliš často, zvyšte maximální velikost haldy JVM.bprac
[AIX Solaris HP-UX Linux Windows][IBM i]

Spustit podporu HProf

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.

Informace Hodnota
Datový typ Logický
Výchozí hodnota false
[AIX Solaris HP-UX Linux Windows][IBM i]

Argumenty modulu HProf

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.

Režim ladění

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í.

Informace Hodnota
Datový typ Logický
Výchozí hodnota false

Argumenty ladění

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í.

Informace Hodnota
Datový typ Řetězec
Jednotky Argumenty příkazového řádku prostředí Java

Generické argumenty prostředí JVM

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.

Do pole Generické argumenty prostředí JVM lze zadat následující nepovinné argumenty příkazového řádku. Zadáte-li více argumentů, oddělte jednotlivé argumenty mezerami.
Předcházení potížím Předcházení potížím: Pokud je u některého argumentu uvedeno, že je určen pouze pro vývojovou sadu IBM Developer Kit, nelze tento argument použít v jiném prostředí JVM od jiného poskytovatele, například od společnosti Microsoft nebo Hewlett-Packard.gotcha
  • [z/OS][AIX Solaris HP-UX Linux Windows] -DhotRestartSync:

    Argument -DhotRestartSync zadejte, pokud chcete povolit funkci synchronizační služby horké synchronizace při restartu. 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 implementace aktivní. Služba proto nemusí při restartování serverů agenta uzlu nebo správce implementace provádět úplné porovnání úložišť. Povolením této funkce zlepšíte efektivitu první synchronizační operace po restartu správce implementace 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í.

  • [8.5.0.1 or later] -Dcom.ibm.crypto.provider.doAESInHardware:

    Tuto volbu nastavte na hodnotu true, pokud chcete povolit funkci AES (Advanced Encryption Standard), která je dodávána se sadou IBM SDK and Runtime Environment for AIX, Java Technology Edition verze 7. AES je symetrická bloková šifra, která šifruje a dešifruje data v několika cyklech. Povolení této funkce zvyšuje výkon při zpracování kódu SSL v produktu WebSphere Application Server.

  • [AIX Solaris HP-UX Linux Windows][z/OS] -Xquickstart
    Argument -Xquickstart zadejte, pokud má být počáteční kompilace provedena s nižší úrovní optimalizace než ve výchozím režimu. Později můžete v závislosti na ukázkových výsledcích provést kompilaci znovu na úrovni počáteční kompilace ve výchozím režimu.
    Doporučené postupy Doporučené postupy: Argument -Xquickstart použijte pro aplikace, kde je důležitější brzké dosažení střední rychlosti než dlouhodobá propustnost. V některých situacích ladění, při testovací zátěži či při použití nástrojů pro krátkodobé spuštění lze dobu spouštění zkrátit o 15-20 %.bprac
    [IBM i] Předcházení potížím Předcházení potížím: Platforma IBM i tento argument nepodporuje.gotcha
  • [AIX Solaris HP-UX Linux Windows][z/OS] -Xverify:none

    Argument -Xverify:none zadejte v situacích, kdy chcete při implementaci 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.

    Předcházení potížím Předcházení potížím:
    • Nepoužívejte tento argument při provádění změn struktury bytecode, protože prostředí JVM může selhat, dojde-li k chybě instrumentace.
    • Jestliže při použití tohoto argumentu zjistíte, že v prostředí JVM došlo k selhání nebo se chová neočekávaným způsobem, při ladění tohoto problému prostředí JVM nejprve odeberte tento argument.
    • [IBM i] Platforma IBM i tento argument nepodporuje.
    gotcha
  • [AIX Solaris HP-UX Linux Windows][z/OS] -Xnoclassgc

    Zadáním argumentu -Xnoclassgc můžete zakázat uvolňování pamě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.

    Předcházení potížím Předcházení potížím: Vliv uvolňování mezipaměti třídy na výkon je obvykle minimální a vypnutí uvolňování mezipaměti třídy v systému založeném na prostředí Java EE (Java Platform, Enterprise Edition), vzhledem k jeho častému používání zavaděčů tříd aplikací, může vést k úniku paměti dat třídy a způsobit vyvolání výjimky Out-of-Memory v prostředí JVM.gotcha

    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.

    [IBM i] Předcházení potížím Předcházení potížím: Platforma IBM i tento argument nepodporuje. Pro zakázání uvolňování paměti na této platformě je nutné použít argument -noclassgc.gotcha
  • [AIX Solaris HP-UX Linux Windows][z/OS] -Xgcthreads

    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.

    Zadejte volbu -Xgcthreads následovně:

    -Xgcthreads<počet procesorů>

    Předcházení potížím Předcházení potížím: Mezi řetězec --Xgcthreads a počet procesorů n nezadávejte mezeru.

    -Xgcthreads5 je příklad zadání volby -Xgcthreads s pěti procesory.

    gotcha
    Doporučené postupy Doporučené postupy: Paralelní uvolňování paměti byste měli použít, pokud je počítač osazen více než jedním procesorem.bprac
    [IBM i] Předcházení potížím Předcházení potížím: Platforma IBM i tento argument nepodporuje.gotcha
  • [AIX Solaris HP-UX Linux Windows][z/OS] -Xnocompactgc

    Argument -Xnocompactgc zadejte, pokud chcete zakázat komprimaci haldy. Komprimace haldy 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 haldy se lze vyhnout veškeré přidružené režii.

    [IBM i] Předcházení potížím Předcházení potížím: Platforma IBM i tento argument nepodporuje.gotcha
  • [AIX Solaris HP-UX Linux Windows][z/OS] -Xgcpolicy

    Pomocí argumentu -Xgcpolicy lze nastavit zásadu uvolňování paměti. Tento argument je platný pouze pro vývojovou sadu IBM Developer Kit.

    [Updated in September 2013]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[Updated in September 2013].

    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í pamě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í pamě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 haldy. 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ů.

    [IBM i] Předcházení potížím Předcházení potížím: Platforma IBM i tento argument nepodporuje.gotcha
  • [AIX Solaris HP-UX Linux Windows][z/OS] -XX

    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 uvolňování pamě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.

    Objekty, které "přežijí" první cyklus uvolňování paměti, jsou přeneseny do dalšího fondu. Pomocí parametru SurvivorRatio můžete určit velikost fondu "přeživších" objektů.SurvivorRatio. Ke sledování statistiky uvolňování paměti lze použít statistiky objektů, které shromažďuje nástroj Sledování výkonu Tivoli, nebo argument verbose:gc v nastavení konfigurace. Pokud se uvolňování paměti stane kritickým bodem výkonu, můžete nastavení fondu generací lépe upravit danému prostředí zadáním následujících argumentů.
    -XX:NewSize=dolní_limit 
    -XX:MaxNewSize=horní_limit
     -XX:SurvivorRatio=nový_poměr 
    Výchozí hodnoty:
    • NewSize=2m
    • MaxNewSize=32m
    • SurvivorRatio=32
    Doporučené postupy Doporučené postupy: Používáte-li však prostředí JVM s velikostí haldy 1 GB a více, měli byste nastavit následující hodnoty:
    • -XX:NewSize=640m
    • -XX:MaxNewSize=640m
    • -XX:SurvivorRatio=16
    bprac

    Jako alternativu můžete nastavit 50 až 60 % celkové velikosti haldy do fondu nové generace.

    [IBM i] Předcházení potížím Předcházení potížím: Platforma IBM i tento argument nepodporuje.gotcha
  • [AIX Solaris HP-UX Linux Windows][z/OS] -Xminf

    Minimální procentuální část haldy můžete změnit pomocí parametru -Xminf. Pokud velikost volného místa klesne pod určenou hodnotu, zvýší se velikost haldy . V režimu s povolenou obnovou udává tento argument minimální procentní část volného prostoru pro paměť middlewaru a přechodnou haldu. Hodnota tohoto argumentu se zadává jako číslo s plovoucí desetinnou čárkou v rozsahu 01. Výchozí hodnota je 0,3 (30 %).

    [IBM i] Předcházení potížím Předcházení potížím: Platforma IBM i tento argument nepodporuje.gotcha
  • [AIX Solaris HP-UX Linux Windows][z/OS] -server | -client

    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.

    [IBM i] Předcházení potížím Předcházení potížím: Platforma IBM i tento argument nepodporuje.gotcha
  • -Dcom.ibm.CORBA.RequestTimeout=časový_limit

    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.

  • -Dcom.ibm.server.allow.sigkill=true

    Argument -Dcom.ibm.server.allow.sigkill=true umožňuje procesu agenta uzlu použít metodu ukončení procesu v případě, že metoda zastavení není dokončena v časovém intervalu zadaném ve vlastnosti Interval programu PING. Toto nastavení je vhodné v případě, že agent uzlu monitoruje aplikační server a ztratí kontakt s aplikačním serverem.

    Pokud zásada monitorování pro daný aplikační server umožní agentu uzlu restartovat aplikační server, protože je pro něj povoleno automatické restartování, agent uzlu provede pro proces aplikačního serveru metodu zastavení. V průběhu ukončení zpracování agent uzlu monitoruje aplikační server a v případě, že nedojde k zastavení aplikačního serveru v časovém intervalu zadaném ve vlastnosti Interval programu PING a tento argument je nastaven na hodnotu true, což je výchozí hodnota, agent uzlu spustí pro aplikační server metodu ukončení za účelem zastavení procesu aplikačního serveru.

    Při nastavení tohoto argumentu na hodnotu false agent uzlu pokračuje v monitorování ukončení zpracování, ale nepokouší se aplikační server restartovat.

    Chcete-li k zakázání tohoto argumentu použít administrativní konzolu, klepněte na volby Administrace systému > Agenti uzlů > název_agenta_uzlu > Správa procesů a prostředí Java > Definice procesu > Prostředí JVM > Generické argumenty prostředí JVM.

  • [8.5.0.1 or later] -Dcom.ibm.websphere.alarmthreadmonitor.hung_alarm_mute=

    Tento argument určuje maximální počet opakování v případě, že má alarm v systémových protokolech ohlašovat zaplnění trasování zásobníku ve zprávách zablokovaného podprocesu.

    Je-li aktivita podprocesu alarmu systému větší než prahová hodnota pro monitor podprocesu alarmu, aplikační server zaprotokoluje zprávu o zablokovaném podprocesu spolu s názvem podprocesu alarmu, dobou, po kterou byl podproces alarmu aktivní a úplnými údaji o výjimce ze zásobníku výjimek. Úplné údaje trasování zásobníku jsou užitečné při ladění a odstraňování příčin prodlev, avšak pokud jsou zprávy o zablokovaném podprocesu generovány často, mohou opakované dlouhé zprávy způsobit obtížné hledání dalších informací v systémových protokolech. Pro tento argument zadejte celočíselnou hodnotu větší než 0, která bude udávat maximální počet opakování, kdy má být pro jeden alarm vygenerována úplná sada údajů trasování zásobníku. Po dosažení této prahové hodnoty bude každá další zpráva o zablokovaném podprocesu obsahovat již jen položku obslužné rutiny pro alarm zablokování.

    Výchozí hodnota 0 určuje, že všechny zprávy o zablokovaných podprocesech pro alarm mají obsahovat úplnou sadu údajů trasování zásobníku.

    Poznámka: Tato vlastnost určuje prahovou hodnotu pro každou jednotlivou třídu obslužné rutiny alarmu, a nikoli pro celkový počet zpráv nebo pro jednotlivé instance obslužných rutin alarmu.
  • [8.5.0.1 or later] -Dcom.ibm.websphere.native.logging.timestamp=true

    Zadáním tohoto argumentu můžete před všechny zprávy ladění serveru, které se nacházejí ve výstupu do souborů protokolu native_stdout a native_stderr, přidat časovou značku a identifikátor podporocesu. Na základě časové značky a identifikátoru podprocesu můžete stanovit vztah mezi chováním komponent zaváděcího programu aplikačního serveru a chováním jiných mechanismů serveru, které jsou uvedeny v souborech protokolu SystemOut a SystemErr. Standardně je tento postup deaktivován.

    Je-li server konfigurován s použitím obecného argumentu JVM -Dws.ext.debug=true, bude v průběhu zpracování zaváděcího programu zaznamenávat zprávy ladění do souborů native_stdout.log a native_stderr.log. Je-li také pro argument -Dcom.ibm.websphere.native.logging.timestamp nastavena hodnota true, bude server zaznamenávat zprávy ladění s časovou značkou a identifikátorem podprocesu, jak je předvedeno v následující ukázce:

    [6/18/12 16:24:31:453 CDT] 00000000 
    ws.ext.mains.args[0]=-nosplash
    [6/18/12 16:24:31:453 CDT] 00000000 
    ws.ext.mains.args[1]=-application
    [6/18/12 16:24:31:453 CDT] 00000000 
    ws.ext.mains.args[2]=com.ibm.ws.bootstrap.WSLauncher
    [6/18/12 16:24:31:453 CDT] 00000000 
    ws.ext.mains.args[3]=com.ibm.ws.runtime.WsServer
    Poznámka: Argument -Dws.ext.debug=true se doporučuje používat pouze při obdržení pokynu od pracovníků podpory společnosti IBM.
  • [z/OS] -Dcom.ibm.websphere.wlm.unusable.interval=interval

    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.

  • [z/OS] -Dcom.ibm.ws.buffermgmt.impl.WsByteBufferPoolManagerImpl=

    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.

    Přímé bajtové vyrovnávací paměti, které prostředí JVM používá ke zpracování dat požadavků, se přidělují z haldy LE (Language Environment), nikoli z haldy JVM. Prostředí JVM typicky neuvolňuje nativní úložný prostor LE těchto přímých bajtových vyrovnávacích pamětí, ani když již nejsou potřebné, dokud není spuštěna další operace uvolňování paměti. V případě, že server zpracovává velké požadavky, může dojít k vyčerpání úložného prostoru LE dříve, než prostředí JVM spustí operaci uvolňování paměti, a k následnému nestandardnímu ukončení práce serveru (abend). Konfigurováním prostředí JVM s použitím následujícího argumentu zabráníte výskytu takových nestandardních ukončení.
    -Dcom.ibm.ws.buffermgmt.impl.WsByteBufferPoolManagerImpl=com.ibm.ws.buffermgmt.impl.ZOSWsByteBufferPoolManagerImpl

    [z/OS] 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.

  • [z/OS] -DisSipComplianceEnabled=true|false

    Určuje, zda je na serveru proxy protokolu SIP povolena kontrola shody protokolu SIP. Kontrola shody protokolu SIP zajišťuje, že zprávy protokolu SIP odpovídají standardu protokolu SIP (Session Initiation Protocol). Při nastavení této vlastnosti na hodnotu true bude kontrola shody protokolu SIP povolena.

    Předcházení potížím Předcházení potížím: Pokud používáte server proxy v prostředí WebSphere Application Server, Network Deployment systému z/OS a daný server proxy není součástí klastru, můžete pomocí přizpůsobené vlastnosti serveru proxy protokolu SIP isSipComplianceEnabled pro tento server proxy protokolu SIP povolit nebo zakázat kontrolu shody protokolu SIP. Pokud však používáte samostatný aplikační server nebo pokud je server proxy součástí klastru, je nutné k povolení nebo zakázání kontroly shody protokolu SIP použít tento generický argument prostředí JVM.gotcha
  • [AIX Solaris HP-UX Linux Windows][z/OS] -Xshareclasses:none

    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 implementace.

    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.

    Poznámka: Používáte-li clearclasscache, musíte před vymazáním celé mezipaměti zastavit všechna připojená prostředí JVM.
    Předcházení potížím Předcházení potížím:
    • [Solaris][IBM i][HP-UX] Prostředí IBM JVM for J2SE 5 není podporováno v systémech Solaris, HP a IBM i.
    • Třídy aplikací Java EE běžící v procesu aplikačního serveru nejsou přidávány do sdílené mezipaměti třídy.
    gotcha
  • -XXallowvmshutdown:false

    Argument -XXallowvmshutdown:false slouží k přechodu zpět na předchozí chování pro nesprávné prostředí JVM. Prostředí Java 5.0 SR10 a Java 6 SR5 opravují problémy, při nichž nedojde ke správnému ukončení práce prostředí JVM (Java Virtual Machine). V případě aplikace, která závisí na původním chování, můžete přejít zpět na předchozí chování přidáním daného atributu do sekce Generické argumenty prostředí JVM.

Informace Hodnota
Datový typ Řetězec
Jednotky Argumenty příkazového řádku prostředí Java

Název spustitelného souboru JAR

Určuje úplný název cesty ke spustitelnému souboru JAR, který používá kód prostředí JVM.

Informace Hodnota
Datový typ Řetězec
Jednotky Cesta

Zakázat kompilátor JIT

Určuje, zda má být zakázána volba kompilátoru JIT (just-in-time) pro kód prostředí JVM.

Pokud zakážete kompilátor JIT, sníží se významně propustnost. Kvůli výkonu se proto doporučuje ponechat volbu JIT v povoleném stavu.

Informace Hodnota
Datový typ Logický
Výchozí hodnota false (režim JIT povolen)
Doporučeno Povolený režim JIT

Název operačního systému

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.



Název souboru: urun_rconfproc_jvm.html