Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 17284|Odpoveď: 1

[Zdroj] Parametre JVM Možnosti

[Kopírovať odkaz]
Zverejnené 31.8.2020 22:20:25 | | |
Parametre JVM rozdeľujeme na tri časti na základe parametrov JVM začínajúcich na -X alebo -XX:
1. Začínajúc s -, štandardnou možnosťou VM, možnosťou špecifikácie VM;
2. Tie, ktoré začínajú na -X, nie sú štandardné (tieto parametre nie sú zaručené na všetkých JVM) a ak dôjde k akýmkoľvek zmenám v novej verzii, žiadne upozornenie nebude vydané.
3. Tie, ktoré začínajú na -XX, sú nestabilné a neodporúčajú sa na použitie v produkčných prostrediach. Zmeny týchto parametrov tiež nebudú oznámené. Možnosti bool parametrov: -XX:+ zapnuté, -XX:- vypnuté. (napr. -XX:+PrintGCDetails) Možnosť číselného parametra je nastavená ako -XX:=. Čísla môžu byť m/m (megabajty), k/k (kilobajty), g/g (g-bajty). Napríklad: 32K znamená 32768 bajtov. (napr. -XX:MaxPermSize=64m) Možnosť parametra reťazca je nastavená na -XX:=, čo sa zvyčajne používa na špecifikáciu súboru, cesty alebo zoznamu príkazov. (napr. -XX:HeapDumpPath=./java_pid.hprof) príkaz java -help môže uvádzať štandardné možnosti pre spustenie java aplikácie (pozri prílohu Štandardná tabuľka parametrov VM, rôzne implementácie JVM sa líšia). java -X môže uvádzať neštandardné parametre (čo je rozšírenie JVM). -X súvisiace možnosti nie sú štandardné a nebudú upozornené, ak sa zmenia. Ak chcete vidieť parametre JVM, ktoré vaša aplikácia aktuálne používa, môžete použiť: ManagementFactory.getRuntimeMXBean().getInputArguments().

Názov parametravýznamDefaulty/Poznámky
-XMSPočiatočná veľkosť haldy1/64 (<1GB) fyzickej pamäte Predvolene (parameter MinHeapFreeRatio je možné upraviť) Keď je voľná pamäť haldy menšia ako 40 %, JVM zvýši haldu až do maximálneho limitu -Xmx
-XmxMaximálna veľkosť haldy1/4 predvolenej fyzickej pamäte (<1GB) (parameter MaxHeapFreeRatio je možné upraviť) Keď je voľná pamäť haldy väčšia ako 70 %, JVM zníži haldu až do minimálneho limitu -xms
-XmnVeľkosť generácie (JDK 1.4 alebo viac)Po zvýšení novej generácie sa veľkosť starej generácie zmenší. Táto hodnota má významný vplyv na výkon systému. Sun oficiálne odporúča konfiguráciu pre 3/8 celého stacku
-XssVeľkosť zásobníka každého vláknaPo JDK5.0 bola veľkosť každého zásobníka vlákien 1M, a predtým bola veľkosť zásobníka 256K, čo môže byť v jednotkách K, M alebo G
-XX:ThreadStackSizeIbid0 znamená, že sa použije predvolená hodnota a nedá sa zlúčiť
-XX:PermSizeNastavte počiatočnú hodnotu permanentnej algebry1/64 fyzickej pamäte
-XX:MaxPermSizeNastavte maximum trvalej generácie1/4 fyzickej pamäte
-XX:NewRatioPomer kenozoika (vrátane Edenu a dvoch zón prežitia) k starobe (bez trvalej generácie)-XX:NewRatio=4 znamená, že pomer kenozoika k starému veku je 1:4 a kenozoik predstavuje 1/5 celého zásobníka, Xms=Xmx a Xmn je nastavené, tento parameter nie je potrebné nastavovať.
-XX:SurvivorRatioPomer veľkosti oblasti Eden k oblasti SurvivorAk je nastavené na 8, pomer dvoch regiónov Preživších k jednému regiónu Eden je 2:8 a jeden región Preživších predstavuje 1/10 celého kenozoika
-XX:VeľkéRozmeryStránkyInBajtovVeľkosť pamäťovej stránky by nemala byť nastavená príliš veľká, pretože to ovplyvní veľkosť Perm=128m
-XX:+PoužívajFastAccessorMethodsRýchla optimalizácia pôvodného typu
-XX:+DisableExplicitGCZatvoriť System.gc()Tento parameter vyžaduje dôkladné testovanie
-XX:MaxTenuringThresholdMaximálny vek odpaduAk je nastavený na 0, objekt novej generácie vstúpi priamo do starej éry bez prechodu cez oblasť Preživšieho. Pre staršie aplikácie je možné zlepšiť efektivitu. Ak je táto hodnota nastavená na veľkú hodnotu, objekt novej generácie bude viackrát skopírovaný v oblasti Survivor, čo môže zvýšiť čas prežitia objektu v novej generácii a pravdepodobnosť recyklácie v novej generácii, čo platí len pre sériové GC
-XX:+AggressiveOptsZrýchlenie kompilácie
-XX:+UseBiasedLockingZlepšenia výkonu zámkových mechanizmov
-XnoclassgcVypnúť recykláciu odpadu
-XX:SoftRefLRUPolicyMSPerMBDoba prežitia SoftReference na megakopu voľného priestoru1
-XX:PretenureSizeThresholdVeľkosť objektu sa priamo rozdeľuje v starobeĎalším prípadom, keď nová generácia používa Parallel Scavenge GC, je neplatný, a ďalším prípadom, keď je to priamo priradené v starom veku, je veľký objekt poľa bez externých referenčných objektov v poli.
-XX:TLABWasteTargetPercentPercento TLAB v oblasti Eden1%
-XX:+CollectGen0FirstČi je YGC na prvom mieste pri FullGCfalse
-XX:+UseParallelGCPlný GC používa paralelný MSCPozri [GC parametre][1]
-XX:+UseParNewGCNastavenie novej generácie na paralelné zbieranieMôže sa používať v kombinácii s CMS kolekciou, JDK 5.0 alebo novším, a JVM ju nastaví podľa systémovej konfigurácie, takže nie je potrebné túto hodnotu nastavovať znova
-XX:ParallelGCThreadsPočet závitov pre paralelný kolektorTáto hodnota je najlepšie nakonfigurovaná ako rovnaký počet procesorov a je vhodná aj pre CMS
-XX:+UseParallelOldGCStará metóda zberu odpadu sa nazýva paralelné zhutňovanieToto je možnosť parametra, ktorá sa objavuje v JAVA 6
-XX:MaxGCPauseMillisMaximálny čas zberu odpadu na novú generáciu (maximálna doba pauzy)Ak tento čas nie je možné splniť, JVM automaticky zmení veľkosť novej generácie tak, aby spĺňala túto hodnotu.
-XX:+UseAdaptiveSizePolicyAutomaticky vyberte veľkosť oblasti novej generácie a príslušný pomer oblasti preživšíchKeď je táto možnosť nastavená, paralelný zberač automaticky vyberie veľkosť novej generačnej oblasti a príslušný podiel prežívajúcej oblasti, aby dosiahol minimálny čas alebo frekvenciu zberu stanovenú cieľovým systémom
-XX:GCTimeRatioNastavte čas zberu odpadu ako percento z doby vysielania programuVzorec je 1/(1+n)
-XX:+ScavengeBeforeFullGCPlný GC pred zavolaním YGCtrue
-XX:+UseConcMarkSweepGCPoužitie CMS zberu pamätePo konfigurácii v teste je konfigurácia -XX:NewRatio=4 neplatná a dôvod je neznámy, preto je najlepšie použiť -Xmn na nastavenie veľkosti novej generácie v tomto čase
-XX:+Agresívny HeapCieľom je použiť veľa fyzickej pamäteOptimalizácia dlhodobého veľkého využitia pamäte, možnosť overiť výpočtové zdroje (pamäť, počet procesorov, aspoň 256MB pamäte) je potrebná
-XX:CMSFullGCsBeforeCompactionKoľkokrát dochádza k kompresii pamäte?Keďže súbežný kolektor nekomprimuje a neorganizuje pamäťový priestor, po určitom čase spôsobí "fragmentáciu", čo znižuje efektivitu prevádzky
-XX:+CMSParallelRemarkEnabledPauzy na dolnom markere
-XX+UseCMSCompactAtFullCollectionKompresia staroby, keď to bolo FullGCCMS nepresúva pamäť, takže je veľmi jednoduché vytvoriť fragmentáciu, čo vedie k nedostatku pamäte, preto je kompresia pamäte v tomto čase povolená. Je to dobrý zvyk tento parameter zvyšovať. Môže to ovplyvniť výkon, ale môže odstrániť nečistoty
-XX:+PoužitieCMSIiniciatívnaOccupancyOnlyZačnite CMS kolekciu manuálnou inicializáciou definícieHostSpot nesmie sám spúšťať CMS GC
-XX:CMSIiniciatívnyOccupancyFraction=70Zber CMS začína po tom, čo sa 70 % odpadu použije na recykláciu odpaduTáto hodnota musí byť nastavená tak, aby spĺňala nasledujúci vzorec, CMSInitiatingOccupancyFraction
-XX:CMSIiniciatujemPermOccupancyFractionNastavte použitie Perm Gen tak, aby sa spustilo, keď sa dosiahne pomer92
-XX:+CMSIncrementalModeNastavený na inkrementálny režimPoužitie v skrinkách s jedným procesorom
-XX:+CMSClassUnloadingEnabledTrvalý CMS GC
-XX:+PrintGCGC log výstupRovnako ako -verbose:gc
-XX:+PrintGCDetailsIbidViac detailov
-XX:+PrintGCTimeStampsČasová pečiatka výstupnej GCPouži ho s vyššie uvedeným parametrom PrintGC, alebo napíš niečo ako -XX:+PrintGC:PrintGCTimeStamps
-XX:+PrintGC:PrintGCTimeStampsMôže byť kombinovaný s -XX:+PrintGC -XX:+PrintGCDetails
-XX:+PrintGCApplicationStoppedTimeČas, keď program prestane počas tlačeného zberu odpadu. Dá sa kombinovať s vyššie uvedenýmFormát výstupu: Celkový čas, počas ktorého boli aplikačné vlákna zastavené: 0,0468229 sekúnd
-XX:+PrintGCApplicationConcurrentTimeVytlačte nepretržitý čas vykonávania programu pred každým zberom odpaduMôže sa kombinovať s vyššie uvedeným, výstupný formulár: Čas aplikácie: 0,5291524 sekúnd
-XX:+PrintHeapAtGCVytlačte podrobné informácie o stacku pred a po GC
-Xloggc:názov súboruZaznamenajte relevantné informácie z logu do súboru na analýzuSpolupracuje s vyššie uvedenými niekoľkými
-XX:+PrintClassHistogramPo stlačení Ctrl+Break v konzole vytlačte informácie o triede
-XX:+TriedaTlačeHistogramPredtýmPlným GCFullGC pred tlačou
-XX:+PrintTLABZobraziť využitie priestoru TLAB
XX:+PrintTenuringDistributionPozrite si prah pre nové obdobie prežitia po každom menšom GC
-EAZapnite assert assert
-XprofDiagnostika výkonu
-XrunhprofDiagnostika výkonu
-XX:+TraceClassLoadingVytlačí informácie o procese načítania triedyPodobne ako [Loaded java.util.AbstractList$Itr from /Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home/jre/lib/rt.jar]
-XX:+TraceClassUnloadingInformácie o procese odinštalácie triedy tlače
XbootclasspathŠpecifikuje načítanie tried, ktoré nevyžadujú kontrolyVynechanie potrebných kontrol pred načítaním môže skrátiť čas načítania, ale nie je to bezpečné
-XX:+Tlačová kompiláciaVytlačte názov metódy, ktorý Hotspot skompiluje pomocou JIT
-XX:+HeapDumpOnOutOfMemoryErrorOM pri generovaní výpisu haldyPredvolený výstup je v koreňovom priečinku, kde sú uložené triedne súbory
-XX:HeapDumpPathNastavte výstupnú cestu k súboru OM dumpPoužitie s -XX:+HeapDumpOnOutOfMemoryError

Príloha

[Štandardný VM parametrový list]

Názov parametrapopisPredvolený
-d32Použite 32-bitový dátový model (ak je k dispozícii)
-d64Použite 64-bitový dátový model (ak je k dispozícii)
-serverVyberte serverový VMPredvolený VM je server, pretože bežíte na serverovom stroji.
-cp < adresár a zip/jar cesta k vyhľadávaniu tried súborov >
-classpath < vyhľadávacia cesta triedy pre adresáre a zip/jar súbory >Použi: zoznam oddelených adresárov, archívov JAR a ZIP archívov na vyhľadávanie súborov tried
-D<名称>=<值>Vlastnosti systému množín
-Verbose: [trieda alebo GC alebo JNI]Povoliť detailný výstup
-verziaVýstup produktovej verzie a ukončenie
-<值>verzia:Zastarané
-showversionVýstup produktovej verzie a pokračovanie
-jre-restrict-search alebo -no-jre-restrict-searchZastarané
-? -pomocVýstup tejto pomocnej správy
-XPomoc s výstupom pri neštandardných možnostiach
-ea[:< názov balíka, názov triedy>]Assert
-enableassertions[:< názov balíka, názov triedy>]Povoliť tvrdenia pri špecifikovanej granularite
-da[:< názov balíka, názov triedy>]
-disableassertions[:< názov balíka, názov triedy>]Vypnúť tvrdenia s určenou granularitou
-esa alebo -enablesystemassertionsPovoliť systémové tvrdenia
-DSA alebo -disablesystemassertionsVypnúť systémové tvrdenia
-agentlib:<libname>[=<选项>]Načítajte natívnu knižnicu <libname>agentovNapríklad -agentlib:hprofPozri tiež -agentlib:jdwp=help a -agentlib:hprof=help
-agentpath:<pathname>[=<选项>]Načítajte knižnicu lokálnych agentov podľa celého názvu cesty
-javaagent:<jarpath>[=<选项>]Na načítanie agenta programovacieho jazyka Java pozri java.lang.instrument
-špliech:<imagepath>Zobraziť úvodnú obrazovku so špecifikovaným obrázkom






Predchádzajúci:Nuget Series 1 používa asp.net na vytvorenie súkromného Nuget repozitára
Budúci:Mysql CURRENT_TIMESTAMP a ON UPDATE CURRENT_TIMESTAMP rozlíšené
 Prenajímateľ| Zverejnené 13.1.2022 09:50:32 |


Poznámka: -Xms256m -Xmx1536m nemožno umiestniť za parameter jar!
Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com