Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 17284|Odpověď: 1

[Zdroj] Parametry JVM Možnosti

[Kopírovat odkaz]
Zveřejněno 31. 8. 2020 22:20:25 | | |
Parametry JVM rozdělíme na tři části na základě parametrů JVM začínajících na -X nebo -XX:
1. Začínaje s -, standardní možností VM, možností specifikace VM;
2. Ty, které začínají na -X, nejsou standardní (tyto parametry nejsou zaručeny na všech JVM) a pokud dojde ke změnám v nové verzi, nebude vydáno žádné oznámení.
3. Ty, které začínají na -XX, jsou nestabilní a nedoporučují se pro použití v produkčních prostředích. Změny těchto parametrů také nebudou informovány. Možnosti bool parametrů: -XX:+ zapnuto, -XX:- vypnuto. (např. -XX:+PrintGCDetails) Volba číselného parametru je nastavena jako -XX:=. Čísla mohou být m/m (megabajty), k/k (kilobajty), g/g (g-bajty). Například: 32K znamená 32768 bajtů. (např. -XX:MaxPermSize=64m) Volba parametru řetězce je nastavena jako -XX:=, což se obvykle používá k určení souboru, cesty nebo seznamu příkazů. (např. -XX:HeapDumpPath=./java_pid.hprof) příkaz java -help může uvést standardní možnosti spuštění java aplikace (viz příloha Standard VM Parameter Table, různé implementace JVM se liší). java -X může uvádět nestandardní parametry (což je rozšíření JVM). -X související možnosti nejsou standardní a nebudou upozorněny, pokud se změní. Pokud chcete vidět parametry JVM, které vaše aplikace aktuálně používá, můžete použít: ManagementFactory.getRuntimeMXBean().getInputArguments().

Název parametruvýznamVýchozí nastavení/Poznámky
-XmsPočáteční velikost haldy1/64 (<1GB) fyzické paměti Ve výchozím nastavení (parametr MinHeapFreeRatio lze upravit) Když je volná paměť haldy menší než 40 %, JVM zvýší haldu až do maximálního limitu -Xmx
-XmxMaximální velikost haldy1/4 výchozí hodnoty fyzické paměti (<1GB) (parametr MaxHeapFreeRatio lze upravit) Když je volná paměť haldy větší než 70 %, JVM sníží haldu až do minimálního limitu -xms
-XmnVelikost generace (JDK 1.4 nebo více)Po zvýšení nové generace se velikost staré generace zmenší. Tato hodnota má významný dopad na výkon systému. Sun oficiálně doporučuje konfiguraci pro 3/8 celého stacku
-XssVelikost zásobníku každého vláknaPo JDK5.0 byla velikost každého vlákna 1M, dříve byla velikost každého vlákna 256K, což může být v jednotkách K, M nebo G
-XX:ThreadStackSizeTotéž0 znamená, že je použita výchozí hodnota a nelze ji sjednotit
-XX:PermSizeNastavte počáteční hodnotu permanentní algebry1/64 fyzické paměti
-XX:MaxPermSizeNastavte maximum trvalé generace1/4 fyzické paměti
-XX:NewRatioPoměr kenozoika (včetně Edenu a dvou zón přeživších) ke stáří (bez trvalé generace)-XX:NewRatio=4 znamená, že poměr kenozoika ke stáří je 1:4 a kenozoik tvoří 1/5 celého zásobníku, Xms=Xmx a Xmn je nastaveno, tento parametr není třeba nastavovat.
-XX:SurvivorRatioPoměr velikosti oblasti Eden k oblasti SurvivorPokud je nastaveno na 8, poměr dvou regionů Survivor k jedné oblasti Eden je 2:8 a jeden region Survivor tvoří 1/10 celého kenozoika
-XX:LargePageSizeInBytesVelikost paměťové stránky by neměla být nastavena příliš velká, protože to ovlivní velikost Permu=128 m
-XX:+UžíveFastAccessorMethodsRychlá optimalizace původního typu
-XX:+DisableExplicitGCZavřít System.gc()Tento parametr vyžaduje důkladné testování
-XX:Maximální práh délky trváníMaximální stáří odpaduPokud je objekt nové generace nastaven na 0, vstoupí přímo do staré éry, aniž by prošel oblastí Přeživší. U starších aplikací lze zlepšit efektivitu. Pokud je tato hodnota nastavena na velkou hodnotu, objekt nové generace bude v oblasti Survivor několikrát zkopírován, což může prodloužit dobu přežití objektu v nové generaci a zvýšit pravděpodobnost recyklace v nové generaci, což platí pouze pro sériové GC
-XX:+AggressiveOptsZrychlení kompilace
-XX:+UseBiasedLockingZlepšení výkonu zámkových mechanismů
-XnoclassgcVypnout recyklaci odpadu
-XX:SoftRefLRUPolicyMSPerMBDoba přežití SoftReference na jednu megahromadu volného prostoru1
-XX:Prah velikosti pretenureVelikost objektu je přímo rozložena ve stáříDalší případ, kdy nová generace používá Parallel Scavenge GC, je neplatný, a další případ, kdy je v minulosti přímo přiřazen, je velký objekt pole bez externích referenčních objektů v poli.
-XX:TLABWasteTargetPercentoProcento TLAB v oblasti Eden1%
-XX:+CollectGen0FirstZda je YGC na prvním místě, když FullGCfalse
-XX:+UseParallelGCPlný GC používá paralelní MSCViz [GC parametry][1]
-XX:+UseParNewGCNastavení nové generace k paralelnímu sběruLze jej používat společně s CMS kolekcí JDK 5.0 nebo novějšími a JVM ji nastaví podle systémové konfigurace, takže není potřeba tuto hodnotu znovu nastavovat
-XX:ParallelGCThreadsPočet závitů pro paralelní kolektorTato hodnota je nejlepší nastavit jako odpovídající počtu procesorů a je vhodná i pro CMS
-XX:+UseParallelOldGCStará metoda sběru odpadu je paralelní kompaktěníToto je možnost parametru, která se objevuje v JAVA 6
-XX:MaxGCPauseMillisMaximální doba sběru odpadu na novou generaci (maximální doba pauzy)Pokud tento čas nelze splnit, JVM automaticky upraví velikost nové generace tak, aby splnila tuto hodnotu.
-XX:+UseAdaptiveSizePolicyAutomaticky vyberte velikost nové generační oblasti a odpovídající poměr přeživší oblastiKdyž je tato možnost nastavena, paralelní sběrač automaticky vybere velikost nové generační oblasti a odpovídající podíl přeživší oblasti, aby dosáhl minimálního odpovídajícího času nebo frekvence sběru stanovené cílovým systémem
-XX:GCTimeRatioNastavte dobu sběru odpadu jako procento z doby běhu programuVzorec je 1/(1+n)
-XX:+ScavengeBeforeFullGCPlný generální zákaz před zavoláním YGCtrue
-XX:+UseConcMarkSweepGCPoužití sběru paměti CMSPo nakonfigurování v testu je konfigurace -XX:NewRatio=4 neplatná a důvod není znám, proto je nejlepší použít -Xmn pro nastavení velikosti nové generace v tomto okamžiku
-XX:+Agresivní HeapCílem je využít hodně fyzické pamětiJe potřeba optimalizace dlouhodobého využití velké paměti, může ověřit výpočetní zdroje (paměť, počet procesorů, alespoň 256MB paměti).
-XX:CMSFullGCsPředKompakcíKolikrát dochází ke kompresi vzpomínek?Protože souběžný kolektor nekomprimuje a neorganizuje paměťový prostor, po určité době vzniká "fragmentace", což snižuje efektivitu provozu
-XX:+CMSParallelRemarkEnabledPauzy na dolním markeru
-XX+UseCMSCompactAtFullCollectionKomprese stáří, když to bylo FullGCCMS nepřesouvá paměť, takže je velmi snadné vytvořit fragmentaci, což vede k nedostatečné paměti, takže komprese paměti bude v tuto chvíli povolena. Je dobré tento parametr zvyšovat. Může ovlivnit výkon, ale může odstranit nečistoty
-XX:+UseCMSIiniciatuOccupancyOnlySpusťte CMS sběr ruční inicializací definiceHostSpot nesmí sám o sobě spouštět CMS GC
-XX:CMSInitiatingOccupancyFraction=70Sběr CMS začíná poté, co je 70 % odpadu použito jako recyklace odpaduTato hodnota musí být nastavena tak, aby splňovala následující vzorec, CMSInitiatingOccupancyFraction
-XX:CMSIiniciatuuTrvaléhoOccupancyFractionNastavte využití Perm Gen tak, aby se spustilo, když je dosaženo poměru92
-XX:+CMSInckrementalModeNastaveno na inkrementální režimPoužívá se v jednoprocesorových pouzdrech
-XX:+CMSClassUnloadingEnabledTrvalý CMS GC
-XX:+PrintGCGC log výstupStejně jako -verbose:gc
-XX:+PrintGCDetailsTotéžVíce podrobností
-XX:+PrintGCTimeStampsVýstupní časové razítko GCPoužijte ho s výše uvedeným parametrem PrintGC, nebo napište něco jako -XX:+PrintGC:PrintGCTimeStamps
-XX:+PrintGC:PrintGCTimeStampsLze kombinovat s -XX:+PrintGC -XX:+PrintGCDetails
-XX:+PrintGCApplicationStoppedTimeČas, kdy se program zastaví během tiskového sběru odpadu. Lze kombinovat s výše uvedenýmVýstupní formát: Celkový čas, po který byla aplikační vlákna zastavena: 0,0468229 sekund
-XX:+PrintGCApplicaceSoučasný časPřed každým garbage collection vytiskněte nepřerušený čas spuštění programuLze kombinovat s výše uvedeným, výstupní formulář: Doba aplikace: 0,5291524 sekund
-XX:+PrintHeapAtGCVytiskněte podrobné informace o stacku před a po GC
-Xloggc:název souboruZaznamenat relevantní informace z logu do souboru pro analýzuSpolupráce s výše uvedenými
-XX:+PrintClassHistogramPo stisknutí Ctrl+Break v konzoli vytiskněte informace o třídě
-XX:+TřídaTiskuHistogramPředPlnáGCFullGC před tiskem
-XX:+PrintTLABZobrazit využití prostoru TLAB
XX:+PrintTenuringDistributionZobrazit práh pro novou dobu přežití po každém menším GC
-EAZapnout assert assert
-XprofDiagnostika výkonu
-XrunhprofDiagnostika výkonu
-XX:+TraceClassLoadingTiskne informace o procesu načítání třídyPodobně jako [Loaded java.util.AbstractList$Itr from /Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home/jre/lib/rt.jar]
-XX:+TraceClassUnloadingInformace o procesu odinstalace třídy tisku
XbootclasspathSpecifikuje načítání tříd, které nevyžadují kontrolyVynechání potřebných kontrol před načtením může zkrátit dobu načítání, ale není to bezpečné
-XX:+Tisková kompilaceVytiskněte název metody, který Hotspot zkompiluje pomocí JIT
-XX:+HeapDumpOnOutOfMemoryErrorOM při generování výpisu haldyVýchozí výstup je v kořenové složce, kde jsou uloženy soubory tříd
-XX:HeapDumpPathNastavte cestu k výstupu OM dump souboruPoužijte s -XX:+HeapDumpOnOutOfMemoryError

Příloha

[Standardní VM parametrový list]

Název parametrupopisVýchozí
-d32Použijte 32bitový datový model (pokud je k dispozici)
-d64Použijte 64bitový datový model (pokud je k dispozici)
-serverVyberte serverový VMVýchozí VM je server, protože běžíte na serverovém stroji.
-cp < adresář a cesta k vyhledávání tříd souborů zip/jar >
-classpath < cesta k vyhledávání třídy pro adresáře a zip/jar soubory >Použijte: seznam oddělených adresářů, archivů JAR a ZIP archivů pro vyhledávání souborů tříd
-D<名称>=<值>Vlastnosti systému množin
-Verbose: [třída nebo GC nebo JNI]Povolit detailní výstup
-verzeVýstup produktové verze a ukončení
-<值>verze:Zastaralé
-showversionVypíšte produktovou verzi a pokračujte
-jre-restrict-search nebo -no-jre-restrict-searchZastaralé
-? -PomocVypíšte tuto nápovědní zprávu
-XPomoc s výstupem u nestandardních možností
-ea[:< název balíčku, název třídy>]assert
-enableassertions[:< název balíčku, název třídy>]Povolte aserce při specifikované granularitě
-da[:< název balíčku, název třídy>]
-disableassertions[:< název balíčku, název třídy>]Vypněte asserte s určenou granularitou
-esa nebo -enablesystemassertionsPovolit systémové aserce
-DSA nebo -disablesystemAssertionsVypnout systémové aserce
-agentlib:<libname>[=<选项>]Načíst nativní agentní knihovnu <libname>Například -agentlib:hprofViz také -agentlib:jdwp=help a -agentlib:hprof=help
-agentpath:<pathname>[=<选项>]Načte knihovnu lokálních agentů podle celého názvu cesty
-javaagent:<jarpath>[=<选项>]Pro načtení agenta programovacího jazyka Java viz java.lang.instrument
-Cákání:<imagepath>Zobrazit úvodní obrazovku s požadovaným obrázkem






Předchozí:Nuget Series 1 používá asp.net k vytvoření soukromého Nuget repozitáře
Další:Mysql CURRENT_TIMESTAMP a ON UPDATE CURRENT_TIMESTAMP rozlišené
 Pronajímatel| Zveřejněno 13. 1. 2022 09:50:32 |


Poznámka: -Xms256m -Xmx1536m nelze umístit za parametr jar!
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com