Tämä artikkeli on konekäännöksen peiliartikkeli, klikkaa tästä siirtyäksesi alkuperäiseen artikkeliin.

Näkymä: 17284|Vastaus: 1

[Lähde] JVM-parametrit Vaihtoehdot

[Kopioi linkki]
Julkaistu 2020-8-31 22:20:25 | | |
Jaamme JVM-parametrit kolmeen osaan JVM-parametrien perusteella, jotka alkavat -X tai -XX:
1. Aloittaen -, standardi VM-vaihtoehto, VM-määrittelyvaihtoehto;
2. Ne, jotka alkavat -X:llä, ovat epästandardeja (näitä parametreja ei taata toteutettavan kaikissa JVM:issä), ja jos uudessa versiossa tapahtuu muutoksia, ilmoitusta ei anneta.
3. Ne, jotka alkavat -XX:llä, ovat epävakaita eikä niitä suositella tuotantoympäristöihin. Näiden parametrien muutoksista ei myöskään ilmoiteta. Bool-parametrien asetukset: -XX:+ päällä, -XX:- pois päältä. (esim. -XX:+PrintGCDetails) Numeerinen parametrivaihtoehto asetetaan -XX:=. Luvut voivat olla m/m (megatavuja), k/k (kilotavuja), g/g (g-tavuja). Esimerkiksi: 32K tarkoittaa 32768 tavua. (esim. -XX:MaxPermSize=64m) Merkkijono-parametrivaihtoehto asetetaan -XX:=, jota yleensä käytetään tiedoston, polun tai komentolistan määrittämiseen. (esim. -XX:HeapDumpPath=./java_pid.hprof) komento Java -help voi listata Java-sovellusten käynnistyksen vakioasetukset (katso liite Standard VM Parameter Table, eri JVM-toteutukset ovat erilaisia). java -X voi listata epästandardeja parametreja (jotka ovat JVM:n laajennus). -X liittyvät vaihtoehdot eivät ole standardeja, eikä niitä ilmoiteta, jos niitä muutetaan. Jos haluat nähdä sovelluksesi tällä hetkellä käyttämät JVM-parametrit, voit käyttää: ManagementFactory.getRuntimeMXBean().getInputArguments().

Parametrin nimimerkitysOletusasetukset/Huomautukset
-XMSAlkuperäinen kekokoko1/64 (<1GB) fyysistä muistia Oletuksena (MinHeapFreeRatio-parametria voidaan säätää) Kun vapaa kekomuisti on alle 40 %, JVM kasvattaa kekoa maksimirajaan asti -Xmx
-XmxMaksimikekokoko1/4 fyysisestä muistista (<1GB) oletuksena (MaxHeapFreeRatio -parametri voidaan säätää). Kun vapaa kekomuisti on yli 70 %, JVM pienentää kekoa minimirajaan asti -xms
-XmnSukupolven koko (JDK 1.4 tai suurempi)Uuden sukupolven kasvattamisen jälkeen vanhan sukupolven koko pienenee. Tällä arvolla on merkittävä vaikutus järjestelmän suorituskykyyn. Sun suosittelee virallisesti konfiguraatiota 3/8 koko pinosta
-XssJokaisen säikeen pinon kokoJDK5.0:n jälkeen jokaisen säikepinon koko oli 1M, ja aiemmin jokainen säiepinon koko oli 256K, mikä voi olla K-, M- tai G-yksiköissä
-XX:ThreadStackSizeSama paikka0 tarkoittaa, että oletusarvoa käytetään, eikä sitä voi yhdistää
-XX:PermSizeAseta pysyvän algebran alkuarvo1/64 fyysisestä muistista
-XX:MaxPermSizeAseta pysyvä tuotantomaksimi1/4 fyysisestä muistista
-XX:NewRatioKenozooisen (mukaan lukien Eedenin ja kaksi selviytyjävyöhykettä) suhde vanhuuteen (pois lukien pysyvä sukupolvi)-XX:NewRatio=4 tarkoittaa, että kenotsooisen ja vanhan ajan suhde on 1:4, ja kenotsooinen muodostaa 1/5 koko pinosta, Xms=Xmx ja Xmn on asetettu, tätä parametria ei tarvitse asettaa.
-XX:SurvivorRatioEdenin alueen kokosuhde Survivor-alueeseenJos asetetaan arvoon 8, kahden selviytyjän alueen suhde yhteen Edenin alueeseen on 2:8, ja yksi selviytyjäalue kattaa 1/10 koko kenozooisesta
-XX:LargePageSizeInBytesMuistisivun kokoa ei tulisi asettaa liian suureksi, sillä se vaikuttaa Permin kokoon=128m
-XX:+UseFastAccessorMethodsNopea alkuperäisen tyypin optimointi
-XX:+DisableExplicitGCSulje järjestelmä.gc()Tämä parametri vaatii perusteellista testausta
-XX:MaxTenuringThresholdJätteiden enimmäisikäJos kohde asetetaan nollaan, uuden sukupolven esine siirtyy suoraan vanhaan aikakauteen kulkematta Survivor-alueen läpi. Vanhemmissa sovelluksissa tehokkuutta voidaan parantaa. Jos tämä arvo asetetaan suureksi, uuden sukupolven objekti kopioidaan useita kertoja Selviytyjä-alueella, mikä voi pidentää esineen selviytymisaikaa uudessa sukupolvessa ja lisätä kierrätyksen todennäköisyyttä uudessa sukupolvessa, mikä pätee vain sarjalliseen GC:hen
-XX:+AggressiveOptsNopeuta kokoamista
-XX:+UseBiasedLockingSuorituskyvyn parannukset lukitusmekanismeissa
-XnoclassgcPoista jätteiden kierrätys käytöstä
-XX:SoftRefLRUPolicyMSPerMBSoftReferencen säilymisaika per megapile vapaata tilaa kohden1s
-XX:PretenureSizeThresholdKohteen koko jakautuu suoraan vanhuudessaToinen tapaus, jossa uusi sukupolvi käyttää Parallel Scavenge GC:tä, on virheellinen, ja toinen tapaus, jossa se on suoraan määritetty vanhoilla, on suuri taulukkoobjekti, jolla ei ole ulkoisia viiteobjekteja taulukossa.
-XX:TLABWasteTargetPercentTLAB:n osuus Edenin alueella1%
-XX:+CollectGen0FirstOnko YGC etusijalla, kun FullGCfalse
-XX:+UseParallelGCTäysi GC käyttää rinnakkaista MSC:täKatso [GC-parametrit][1]
-XX:+UseParNewGCUuden sukupolven asettaminen keräämään rinnakkainSitä voi käyttää yhdessä CMS-keräyksen, JDK 5.0:n tai uudemman version kanssa, ja JVM asettaa sen järjestelmän konfiguraatioiden mukaan, joten tätä arvoa ei tarvitse asettaa uudelleen
-XX:ParallelGCThreadsKierteiden määrä rinnakkaiskollektorilleTämä arvo on parhaiten konfiguroitu prosessorien lukumäärän mukaan, ja se sopii myös CMS:ään
-XX:+UseParallelOldGCVanha jätehuoltomenetelmä on rinnakkaispuristusTämä on parametrivaihtoehto, joka esiintyy JAVA 6:ssa
-XX:MaxGCPauseMillisMaksimiaika uuden sukupolven jätteen keräysaikaa kohden (maksimitaukoaika)Jos tätä aikaa ei voida täyttää, JVM muuttaa automaattisesti uuden sukupolven kokoa tämän arvon mukaisesti.
-XX:+UseAdaptiveSizePolicyValitse automaattisesti uuden sukupolven alueen koko ja vastaava selviytymisalueen suhdeKun tämä asetus on asetettu, rinnakkaiskeräin valitsee automaattisesti uuden sukupolven alueen koon ja vastaavan osan selviytyjä-alueesta saavuttaakseen kohdejärjestelmän määrittämän vähimmäisajan tai keräystaajuuden
-XX:GCTimeRatioAseta roskien keräysaika prosenttisena ohjelman kestostaKaava on 1/(1+n)
-XX:+ScavengeBeforeFullGCTäysi yleisluku ennen YGC:n kutsumistatrue
-XX:+UseConcMarkSweepGCKäytä CMS-muistikokoelmaaKun tämä on konfiguroitu testissä, -XX:NewRatio=4 -konfiguraatio on virheellinen, eikä syy ole tiedossa, joten on parasta käyttää -Xmn:ää uuden sukupolven koon asettamiseen tällä hetkellä
-XX:+AggressiveHeapTavoitteena on käyttää paljon fyysistä muistiaPitkän aikavälin suuren muistinkäytön optimointi voidaan tarkistaa laskentaresurssit (muisti, prosessorien määrä, vähintään 256MB muistia)
-XX:CMSFullGCsBeforeCompressactionKuinka monta kertaa muistin pakkaus tapahtuu?Koska samanaikainen keräin ei pakkaa eikä järjestä muistitilaa, se aiheuttaa "fragmentaatiota" jonkin ajan käytön jälkeen, mikä heikentää toimintatehokkuutta
-XX:+CMSParallelKommentSallittuAlempien merkkien tauot
-XX+UseCMSCompactAtFullCollectionVanhuuden tiivistäminen silloin, kun se oli FullGCCMS ei siirrä muistia, joten fragmentoituminen on hyvin helppoa, mikä johtaa riittämättömään muistiin, joten muistin pakkaus on käytössä tällä hetkellä. On hyvä tapa kasvattaa tätä parametria. Se voi vaikuttaa suorituskykyyn, mutta voi poistaa roskia
-XX:+UseCMSInitiatingOccupancyOnlyAloita CMS-keräys manuaalisella määrittely alustuksellaHostSpotilta on kielletty käynnistämästä CMS GC:tä itsenäisesti
-XX:CMSInitiatingOccupancyFraction=70CMS-keräys alkaa sen jälkeen, kun 70 % jätteestä on käytetty jätteen kierrätykseenTämä arvo tulee asettaa täyttämään seuraava kaava, CMSInitiatingOccupancyFraction
-XX:CMSInitiatingPermOccupancyFractionAseta Perm Genin käyttö aktivoitumaan, kun suhde saavutetaan92
-XX:+CMSIncrementalModeAsetetaan inkrementaaliseen tilaanKäytössä yksiprosessorisissa tapauksissa
-XX:+CMSClassUnloadingEnabledPysyvä CMS GC
-XX:+PrintGCGC-logaritin tulosSama kuin -verbose:gc
-XX:+PrintGCDetailsSama paikkaLisätietoja
-XX:+PrintGCTimeStampsLähtö GC-aikaleimaKäytä sitä yllä olevan PrintGC-parametrin kanssa tai kirjoita esimerkiksi -XX:+PrintGC:PrintGCTimeStamps
-XX:+PrintGC:PrintGCTimeStampsVoidaan sekoittaa -XX:+PrintGC -XX:+PrintGCDetails
-XX:+PrintGCApplicationStoppedTimeAika, jolloin ohjelma pysähtyy painetun jätteen keräyksen aikana. Voidaan sekoittaa yllä mainittujen kanssaTulostusmuoto: Sovellussäikeiden kokonaispysäytysaika: 0,0468229 sekuntia
-XX:+TulostaGCApplicationConcurrentTimeTulosta ohjelman keskeytymätön suoritusaika ennen jokaista roskien keräystäVoidaan sekoittaa yllä olevaan, tulostusmuoto: Levitysaika: 0,5291524 sekuntia
-XX:+PrintHeapAtGCTulosta yksityiskohtaiset pinotiedot ennen ja jälkeen GC:n
-Xloggc:filenameKirjaa asiaankuuluvat lokitiedot tiedostoon analysoitavaksiYhteistyöt edellä mainittujen kanssa
-XX:+PrintClassHistogrammiKun painat konsolissa Ctrl+Break, tulosta luokkatiedot
-XX:+PrintClassHistogramBeforeFullGCFullGC ennen painamista
-XX:+PrintTLABKatso TLAB-tilan käyttö
XX:+PrintTenuringDistributionKatso uuden eloonjäämisajan kynnys jokaisen pienen GC:n jälkeen
-EAKäynnistä assert assert
-XprofSuorituskyvyn diagnostiikka
-XrunhprofSuorituskyvyn diagnostiikka
-XX:+TraceClassLoadingTulostaa tietoa luokan latausprosessistaSamankaltainen kuin [Loaded java.util.AbstractList$Itr from /Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home/jre/lib/rt.jar]
-XX:+TraceClassUnloadingTulostusluokan poistoprosessitiedot
XbootclasspathMäärittelee luokkien latauksen, jotka eivät vaadi tarkistuksiaTarvittavien esilataustarkistusten ohittaminen voi lyhentää latausaikaa, mutta se ei ole turvallista
-XX:+PrintCompilationTulosta metodin nimi, jonka Hotspot kääntää JIT:llä
-XX:+HeapDumpOnOutOfMemoryErrorOM kun generoidaan hep dumpOletustulos on juurikansiossa, jossa luokkatiedostot säilytetään
-XX:HeapDumpPathAseta ulostulo OM-dump-tiedostopolunKäytä -XX:+HeapDumpOnOutOfMemoryError -menetelmällä

Liite

[Vakio VM-parametrisivu]

Parametrin nimikuvausLaiminlyönti
-d32Käytä 32-bittistä tietomallia (jos saatavilla)
-d64Käytä 64-bittistä tietomallia (jos saatavilla)
-palvelinValitse palvelin-virtuaalikoneOletusvirtuaalikone on palvelin, koska ajat palvelimen kaltaisella koneella.
-cp < hakemisto- ja zip/jar-tiedoston luokkahakupolku>
-classpath < luokkahakupolku hakemistoille ja zip/jar-tiedostoille >Käytä : luetteloa erillistä hakemistoista, JAR-arkistoista ja ZIP-arkistoista etsiäksesi luokkatiedostoja
-D<名称>=<值>Joukkojärjestelmän ominaisuudet
-Puhelias: [luokka, GC tai JNI]Ota yksityiskohtainen ulostulo käyttöön
-versioTulosta tuoteversio ja poistu
-<值>versio:Käytöstä poistettu
-näytösversioTulosta tuoteversio ja jatka
-jre-restrict-search tai -no-jre-restrict-searchKäytöstä poistettu
-? -ApuaAnna tämä apuviesti
-XTulostusapu ei-standardeissa vaihtoehdoissa
-ea[:< paketin nimi, luokan nimi>]Väitä
-enableassertions[:< paketin nimi, luokan nimi>]Ota käyttöön väittämät määritetyllä tarkkuudella
-da[:< paketin nimi, luokan nimi>]
-disableassertions[:< paketin nimi, luokan nimi>]Poista käytöstä väitteet, joilla on määritelty tarkkuus
-esa tai -enablesystemassertionsOta järjestelmäväitteet käyttöön
-dsa tai -disablesystemassertionsPoista järjestelmäväitteet käytöstä
-agentlib:<libname>[=<选项>]Lataa natiiviagenttikirjasto <libname>Esimerkiksi -agentlib:hprofKatso myös -agentlib:jdwp=help ja -agentlib:hprof=help
-agentpath:<pathname>[=<选项>]Lataa paikallinen agenttikirjasto täyden polun nimellä
-javaagent:<jarpath>[=<选项>]Java-ohjelmointikielen agentin lataamiseksi katso java.lang.instrument
-roiske:<imagepath>Näytä aloitusnäyttö annetulla kuvalla






Edellinen:Nuget Series 1 käyttää asp.net rakentaakseen yksityisen Nuget-tietovaraston
Seuraava:Mysql CURRENT_TIMESTAMP ja ON PÄIVITYS CURRENT_TIMESTAMP eriytetty
 Vuokraisäntä| Julkaistu 2022-1-13 09:50:32 |


Huomautus: -Xms256m -Xmx1536m ei voi sijoittaa purkkiparametrin jälkeen!
Vastuuvapauslauseke:
Kaikki Code Farmer Networkin julkaisemat ohjelmistot, ohjelmamateriaalit tai artikkelit ovat tarkoitettu vain oppimis- ja tutkimustarkoituksiin; Yllä mainittua sisältöä ei saa käyttää kaupallisiin tai laittomiin tarkoituksiin, muuten käyttäjät joutuvat kantamaan kaikki seuraukset. Tämän sivuston tiedot ovat peräisin internetistä, eikä tekijänoikeuskiistat liity tähän sivustoon. Sinun tulee poistaa yllä oleva sisältö kokonaan tietokoneeltasi 24 tunnin kuluessa lataamisesta. Jos pidät ohjelmasta, tue aitoa ohjelmistoa, osta rekisteröityminen ja hanki parempia aitoja palveluita. Jos rikkomuksia ilmenee, ota meihin yhteyttä sähköpostitse.

Mail To:help@itsvse.com