Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 17284|Odgovoriti: 1

[Vir] Parametri JVM Možnosti

[Kopiraj povezavo]
Objavljeno 31. 8. 2020 ob 22:20:25 | | |
Parametre JVM razdelimo na tri dele glede na parametre JVM, ki se začnejo z -X ali -XX:
1. Začenši z -, standardno VM možnostjo, VM specifikacijo;
2. Tisti, ki se začnejo z -X, niso standardni (ti parametri niso zagotovljeno implementirani na vseh JVM-jih), in če pride do sprememb v novi različici, obvestila ne bodo izdana.
3. Tisti, ki se začnejo z -XX, so nestabilni in niso priporočljivi za uporabo v produkcijskih okoljih. Spremembe teh parametrov prav tako ne bodo obveščene. Možnosti bool parametrov: -XX:+ vklopljeno, -XX:- izklopljeno. (npr. -XX:+PrintGCDetails) Možnost numeričnega parametra je nastavljena z -XX:=. Številke so lahko m/m (megabajti), k/k (kilobajti), g/g (g-bajti). Na primer: 32K pomeni 32768 bajtov. (npr. -XX:MaxPermSize=64m) Možnost parametra niza je nastavljena z -XX:=, ki se običajno uporablja za določitev datoteke, poti ali seznama ukazov. (npr. -XX:HeapDumpPath=./java_pid.hprof) ukaz java -help lahko navede standardne možnosti za zagon java aplikacije (glej prilogo Standardna tabela parametrov VM, različne implementacije JVM so različne). java -X lahko navede nestandardne parametre (kar je razširitev JVM). -X povezane možnosti niso standardne in ne bodo obveščene, če se spremenijo. Če želite videti parametre JVM, ki jih trenutno uporablja vaša aplikacija, lahko uporabite: ManagementFactory.getRuntimeMXBean().getInputArguments().

Ime parametrapomenPrivzete nastavitve/Opombe
-XMSZačetna velikost kopice1/64 (<1GB) fizičnega pomnilnika Privzeto (parameter MinHeapFreeRatio je mogoče prilagoditi) Ko je pomnilnik prostega kupa manjši od 40 %, JVM poveča kopico do največje meje -Xmx
-XMXNajvečja velikost kopice1/4 privzetega fizičnega pomnilnika (<1GB) (parameter MaxHeapFreeRatio se lahko nastavi) Ko je pomnilnik prostega kupa večji od 70 %, JVM zmanjša kopico do minimalne meje -xms
-XmnVelikost generacije (JDK 1.4 ali več)Po povečanju nove generacije se bo velikost stare generacije zmanjšala. Ta vrednost ima pomemben vpliv na delovanje sistema. Sun uradno priporoča konfiguracijo za 3/8 celotnega sklada
-XssVelikost sklada vsake nitiPo JDK5.0 je bila velikost vsakega niti 1M, prej pa je bila velikost niti 256K, kar je lahko v enotah K, M ali G
-XX:ThreadStackSizePrav tako0 pomeni, da je privzeta vrednost uporabljena in je ni mogoče združiti
-XX:PermSizeNastavi začetno vrednost permanentne algebre1/64 fizičnega pomnilnika
-XX:MaxPermSizeNastavi maksimalno stalno generacijo1/4 fizičnega pomnilnika
-XX:NewRatioRazmerje med kenozoikom (vključno z Edenom in dvema conama preživetja) in starostjo (brez stalne generacije)-XX:NewRatio=4 pomeni, da je razmerje med kenozoikom in starim obdobjem 1:4, kenozoik pa predstavlja 1/5 celotnega sklada, Xms=Xmx in Xmn je nastavljen, tega parametra ni treba nastaviti.
-XX:SurvivorRatioRazmerje velikosti območja Eden in območja SurvivorČe nastavimo na 8, je razmerje dveh regij preživelih na eno regijo Eden 2:8, ena regija preživelih pa predstavlja 1/10 celotnega kenozoika
-XX:VelikaVelikostStraniInBajtovVelikost pomnilniške strani ne sme biti prevelika, saj bo to vplivalo na velikost Perma=128 m
-XX:+UporabiFastAccessorMethodsHitra optimizacija izvirnega tipa
-XX:+DisableExplicitGCZapri System.gc()Ta parameter zahteva strogo testiranje
-XX:MaxTenuringThresholdNajvečja starost smetiČe je nastavljen na 0, bo objekt nove generacije vstopil neposredno v staro obdobje, ne da bi prešel skozi območje Preživelih. Pri starejših aplikacijah je mogoče izboljšati učinkovitost. Če je ta vrednost nastavljena na veliko vrednost, se objekt nove generacije večkrat kopira v regiji Survivor, kar lahko poveča čas preživetja objekta v novi generaciji in poveča verjetnost recikliranja v novi generaciji, kar velja le za serijsko GC
-XX:+AgresivniOptiPospešeno prevajanje
-XX:+UseBiasedLockingIzboljšave zmogljivosti za zaklepne mehanizme
-XnoclassgcOnemogoči recikliranje smeti
-XX:SoftRefLRUPolicyMSPerMBČas preživetja SoftReference na megakup prostega prostora1
-XX:PretenureSizeThresholdVelikost predmeta je neposredno razporejena v starostiDrug primer, kjer nova generacija uporablja Parallel Scavenge GC, je neveljaven, in drug primer, ko je bil v stari dobi neposredno dodeljen, je velik objekt polja brez zunanjih referenčnih objektov v polju.
-XX:TLABWasteTargetPercentOdstotek TLAB na območju Edena1%
-XX:+CollectGen0FirstAli je YGC na prvem mestu, ko je FullGCfalse
-XX:+UseParallelGCPolni GC uporablja paralelni MSCGlej [GC parametri][1]
-XX:+UseParNewGCPostavitev nove generacije, da zbira vzporednoUporablja se lahko skupaj s CMS zbirko, JDK 5.0 ali novejšim, JVM pa jo nastavi glede na konfiguracijo sistema, zato ni potrebe po ponovnem nastavljanju te vrednosti
-XX:ParallelGCThreadsŠtevilo navojev za paralelni kolektorTo vrednost je najbolje konfigurirati enako številu procesorjev in je primerna tudi za CMS
-XX:+UseParallelOldGCStara metoda zbiranja smeti je bila vzporedna kompaktacijaTo je možnost parametrov, ki se pojavi v JAVA 6
-XX:MaxGCPauseMillisNajvečji čas zbiranja odpadkov nove generacije (največji čas pavze)Če tega časa ni mogoče doseči, bo JVM samodejno spremenil velikost nove generacije, da bo dosegla to vrednost.
-XX:+UseAdaptiveSizePolicySamodejno izberite velikost območja nove generacije in ustrezno razmerje območja preživelihKo je ta možnost nastavljena, paralelni zbiralnik samodejno izbere velikost novega območja proizvodnje in ustrezni delež območja preživelega, da doseže minimalni čas ali frekvenco zbiranja, ki jo določa ciljni sistem
-XX:GCTimeRatioČas zbiranja smeti nastavite kot odstotek časa izvajanja programaFormula je 1/(1+n)
-XX:+ScavengeBeforeFullGCPolni GC pred klicem YGCtrue
-XX:+UseConcMarkSweepGCUporaba CMS zbiranja pomnilnikaPo konfiguraciji tega v testu je konfiguracija -XX:NewRatio=4 neveljavna, razlog pa ni znan, zato je najbolje uporabiti -Xmn za nastavitev velikosti nove generacije v tem trenutku
-XX:+Agresivni kupPoskus je uporabiti veliko fizičnega spominaOptimizacija dolgoročne velike porabe pomnilnika, preverjanje računalniških virov (pomnilnik, število procesorjev, vsaj 256MB pomnilnika) je potrebna
-XX:CMSFullGCsBeforeCompactionKolikokrat se zgodi stiskanje pomnilnika?Ker sočasni kolektor ne stisne in ne organizira pomnilniškega prostora, bo po določenem času delovanja povzročil "fragmentacijo", kar zmanjša učinkovitost delovanja
-XX:+CMSParallelRemarkEnabledSpodnji marker se ustavi
-XX+UseCMSCompactAtFullCollectionKompresija starosti, ko je bila FullGCCMS ne premika pomnilnika, zato je zelo enostavno povzročiti fragmentacijo, kar povzroči premalo pomnilnika, zato je stiskanje pomnilnika trenutno omogočeno. Dobra navada je povečati ta parameter. To lahko vpliva na zmogljivost, vendar lahko odstrani umazanijo
-XX:+UpotrebiCMSIzavajanjeZapušenostiLeZaženi zbiranje CMS z ročno inicializacijo definicijeHostSpotu je prepovedano samostojno sprožiti CMS GC
-XX:CMSIiniciatoOccupancyFraction=70Zbiranje CMS se začne po tem, ko se 70 % odpadkov uporabi za recikliranje smetiTo vrednost je treba nastaviti tako, da ustreza naslednji formuli, CMSInitiatingOccupancyFraction
-XX:CMSIičen PermOccupancyFractionNastavi uporabo Perm Gen, da se sproži, ko je doseženo razmerje92
-XX:+CMSIncrementalModeNastavljeno na inkrementalni načinUporablja se v ohišjih z enim procesorjem
-XX:+CMSClassUnloadingEnabledStalni CMS GC
-XX:+PrintGCGC log izhodEnako kot -verbose:gc
-XX:+PrintGCDetailsPrav takoVeč podrobnosti
-XX:+PrintGCTimeStampsČasovni žig izhodne GCUporabite ga z zgornjim parametrom PrintGC ali napišite nekaj takega kot -XX:+PrintGC:PrintGCTimeStamps
-XX:+PrintGC:PrintGCTimeStampsLahko se meša z -XX:+PrintGC -XX:+PrintGCDetails
-XX:+PrintGCApplicationStoppedTimeČas, ko se program ustavi med zbiranjem tiskanih smeti. Lahko se meša z zgoraj navedenimiIzhodni format: Skupni čas, za katerega so bile aplikacijske niti ustavljene: 0,0468229 sekund
-XX:+PrintGCApplicationConcurrentTimePred vsakim zbiranjem smeti natisnite neprekinjen čas izvajanja programaLahko se kombinira z zgoraj navedenim, izhodni obrazec: Čas prijave: 0,5291524 sekund
-XX:+PrintHeapAtGCNatisnite podrobne informacije o skladu pred in po GC
-Xloggc:ime datotekeZabeležite ustrezne podatke o dnevniku v datoteko za analizoDela z zgoraj navedenimi
-XX:+PrintClassHistogramPo pritisku na Ctrl+Break v konzoli natisnite informacije o razredu
-XX:+TiskatiRazredHistogramPředPolnoGCFullGC pred tiskom
-XX:+PrintTLABOglejte si uporabo prostora TLAB
XX:+PrintTenuringDistributionOglejte si prag za novo obdobje preživetja po vsakem manjšem GC
-EAVklopi assert assert
-XprofDiagnostika zmogljivosti
-XrunhprofDiagnostika zmogljivosti
-XX:+TraceClassLoadingTiskanje informacij o postopku nalaganja razredaPodobno kot [Loaded java.util.AbstractList$Itr from /Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home/jre/lib/rt.jar]
-XX:+TraceClassUnloadingInformacije o postopku odstranitve tiskalnega razreda
XbootclasspathDoloča nalaganje razredov, ki ne zahtevajo preverjanjIzpuščanje nujnih preverjanj prednalaganja lahko zmanjša čas nalaganja, vendar ni varno
-XX:+Tiskana kompilacijaNatisnite ime metode, ki ga Hotspot prevede z JIT
-XX:+HeapDumpOnOutOfMemoryErrorOM pri generiranju heap dumpaPrivzeti izhod je v korenski mapi, kjer so shranjene datoteke razredov
-XX:HeapDumpPathNastavite pot do izhodne OM datotekeUporaba z -XX:+HeapDumpOnOutOfMemoryError

Priloga

[Standardna VM tabela parametrov]

Ime parametraopisPrivzeto
-d32Uporabite 32-bitni podatkovni model (če je na voljo)
-d64Uporabite 64-bitni podatkovni model (če je na voljo)
-strežnikIzberite VM strežnikaPrivzeti VM je strežnik, ker tečeš na strežniškem računalniku.
-cp < mape in zip/jar iskalna pot po razredih datotek >
-classpath < pot iskanja razredov za imenike in zip/jar datoteke >Uporabite: seznam ločenih imenikov, JAR arhivov in ZIP arhivov za iskanje razrednih datotek
-D<名称>=<值>Lastnosti sistema množic
-Besedno: [razred ali GC ali JNI]Omogočite podroben izhod
-različicaIzhod različice izdelka in izhod
-<值>različica:Zastarelo
-showverzijaIzpiši različico izdelka in nadaljuj
-jre-restrict-search ali -no-jre-restrict-searchZastarelo
-? -pomočIzpiši to sporočilo za pomoč
-XPomoč pri izhodu pri nestandardnih možnostih
-ea[:< ime paketa, ime razreda>]assert
-enableassertions[:< ime paketa, ime razreda>]Omogočite trditve pri določeni granularnosti
-da[:< ime paketa, ime razreda>]
-disableassertions[:< ime paketa, ime razreda>]Onemogočite trditve z določeno granularnostjo
-esa ali -enablesystem assertionsOmogočite sistemske trditve
-DSA ali -disablesystemassertionsOnemogoči sistemske trditve
-agentlib:<libname>[=<选项>]Naloži izvorno knjižnico <libname>agentovNa primer, -agentlib:hprofGlej tudi -agentlib:jdwp=pomoč in -agentlib:hprof=pomoč
-agentpath:<pathname>[=<选项>]Naloži lokalno knjižnico agentov s polnim imenom poti
-javaagent:<jarpath>[=<选项>]Za nalaganje agenta programskega jezika Java glejte java.lang.instrument
-pljusk:<imagepath>Prikaži začetni zaslon z navedeno sliko






Prejšnji:Nuget Series 1 uporablja asp.net za gradnjo zasebnega Nuget repozitorija
Naslednji:Mysql CURRENT_TIMESTAMP in ON UPDATE CURRENT_TIMESTAMP razlikovani
 Najemodajalec| Objavljeno 13. 1. 2022 09:50:32 |


Opomba: -Xms256m -Xmx1536m ni mogoče postaviti za parameter kozarca!
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com