Denne artikkelen er en speilartikkel om maskinoversettelse, vennligst klikk her for å hoppe til originalartikkelen.

Utsikt: 17284|Svare: 1

[Kilde] JVM-parametere Alternativer

[Kopier lenke]
Publisert 31.08.2020 kl. 22:20:25 | | |
Vi deler JVM-parametrene inn i tre deler basert på JVM-parametrene som starter med -X eller -XX:
1. Starter med -, standard VM-alternativ, VM-spesifikasjonsalternativet;
2. De som starter med -X er ikke-standard (disse parameterne er ikke garantert implementert på alle JVM-er), og hvis det skjer endringer i den nye versjonen, vil ingen varsling bli utstedt.
3. De som starter med -XX er ustabile og anbefales ikke for bruk i produksjonsmiljøer. Endringer i disse parameterne vil heller ikke bli varslet. Bool-parameteralternativer: -XX:+ på, -XX:- av. (f.eks. -XX:+PrintGCDetails) Det numeriske parametervalget settes med -XX:=. Tallene kan være m/m (megabyte), k/k (kilobyte), g/g (g-byte). For eksempel: 32K betyr 32768 bytes. (f.eks. -XX:MaxPermSize=64m) Strengparametervalget settes med -XX:=, som vanligvis brukes til å spesifisere en fil, sti eller kommandoliste. (f.eks. -XX:HeapDumpPath=./java_pid.hprof) kan kommandoen java -help liste opp standardalternativene for oppstart av java-applikasjoner (se Appendix Standard VM Parameter Table, ulike JVM-implementasjoner er forskjellige). java -X kan liste opp ikke-standard parametere (som er en utvidelse av JVM). -X-relaterte alternativer er ikke standard og vil ikke bli varslet hvis de endres. Hvis du vil se JVM-parameterne som applikasjonen din bruker nå, kan du bruke: ManagementFactory.getRuntimeMXBean().getInputArguments().

ParameternavnbetydningStandardinnstillinger/Notater
-XmsInnledende heapstørrelse1/64 (<1 GB) fysisk minne Som standard (MinHeapFreeRatio-parameteren kan justeres) Når det frie heap-minnet er mindre enn 40 %, vil JVM øke heapen til maksimumsgrensen på -Xmx
-XmxMaksimal heap-størrelse1/4 av det fysiske minne (<1 GB) standard (MaxHeapFreeRatio-parameteren kan justeres) Når det ledige heap-minnet er større enn 70 %, vil JVM redusere heapen til minimumsgrensen på -xms
-XmnGenerasjonsstørrelse (JDK 1.4 eller høyere)Etter å ha økt den nye generasjonen, vil størrelsen på den gamle generasjonen bli redusert. Denne verdien har betydelig innvirkning på systemets ytelse. Sun anbefaler offisielt konfigurasjonen til 3/8 av hele stakken
-XssStabelstørrelsen til hver trådEtter JDK5.0 var hver trådstakkstørrelse 1M, og tidligere var hver trådstabel 256K, som kan være i K-, M- eller G-enheter
-XX:ThreadStackSizeIbid0 betyr at standardverdien brukes, og den kan ikke forenes
-XX:PermSizeSett startverdien for permanent algebra1/64 av det fysiske minnet
-XX:MaxPermSizeSett maksimumsverdien for permanent produksjon1/4 av det fysiske minnet
-XX:NewRatioForholdet mellom kenozoikum (inkludert Eden og to overlevende soner) til alderdom (ekskludert permanent generasjon)-XX:NewRatio=4 betyr at forholdet mellom kenozoikum og alderdom er 1:4, og kenozoikum utgjør 1/5 av hele stakken, Xms=Xmx og Xmn er satt, denne parameteren trenger ikke å settes.
-XX:OverlevendeRatioStørrelsesforholdet mellom Eden-området og Survivor-områdetHvis den settes til 8, er forholdet mellom to Survivor-regioner og én Eden-region 2:8, og én Survivor-region utgjør 1/10 av hele kenozoikum
-XX:StorSideStørrelseIBytesStørrelsen på minnesiden bør ikke settes for stor, da det vil påvirke størrelsen på Perm=128m
-XX:+UseFastAccessorMethodsRask optimalisering av den opprinnelige typen
-XX:+DisableExplicitGCLukk System.gc()Denne parameteren krever grundig testing
-XX: MaxTenuringThresholdMaksimal alder på søppeletHvis det settes til 0, vil det nye generasjonsobjektet gå direkte inn i den gamle æraen uten å passere gjennom Survivor-området. For eldre applikasjoner kan effektiviteten forbedres. Hvis denne verdien settes til en stor verdi, vil det nye generasjonsobjektet kopieres flere ganger i Survivor-regionen, noe som kan øke overlevelsestiden til objektet i den nye generasjonen og øke sannsynligheten for å bli resirkulert i den nye generasjonen, noe som kun gjelder for seriell GC
-XX:+AggressiveOptsRaskere kompilering
-XX:+UseBiasedLockingYtelsesforbedringer for låsemekanismer
-XnoclassgcDeaktiver avfallsgjenvinning
-XX:SoftRefLRUPolicyMSPerMBOverlevelsestiden til SoftReference per megahaug med ledig plass1-ere
-XX:PretenureSizeThresholdStørrelsen på objektet fordeles direkte i alderdommenEt annet tilfelle der den nye generasjonen bruker Parallel Scavenge GC er ugyldig, og et annet tilfelle hvor det er direkte tildelt i gamle dager, er et stort array-objekt uten eksterne referanseobjekter i arrayet.
-XX:TLABWasteTargetPercentProsentandel av TLAB i Eden-området1%
-XX:+CollectGen0FirstOm YGC kommer først når FullGCfalse
-XX:+UseParallelGCFull GC bruker parallell MSCSe [GC-parametere][1]
-XX:+UseParNewGCÅ sette den nye generasjonen til å samle inn paralleltDen kan brukes sammen med CMS collection, JDK 5.0 eller nyere, og JVM vil sette den i henhold til systemkonfigurasjonen, så det er ikke nødvendig å sette denne verdien på nytt
-XX:ParallelGCThreadsAntall tråder for parallellkollektorenDenne verdien konfigureres best lik antall prosessorer, og er også egnet for CMS
-XX:+UseParallelOldGCDen gamle søppelsamlingsmetoden er Parallel CompactingDette er parametervalget som vises i JAVA 6
-XX:MaxGCPauseMillisMaksimal tid per ny generasjons avfallsinnsamling (maksimal pausetid)Hvis denne tiden ikke kan oppnås, vil JVM automatisk endre størrelsen på den nye generasjonen for å møte denne verdien.
-XX:+UseAdaptiveSizePolicyVelg automatisk størrelsen på det nye generasjonsområdet og det tilsvarende forholdet mellom overlevende områderNår dette alternativet er satt, velger parallellkollektoren automatisk størrelsen på det nye generasjonsområdet og den tilsvarende andelen av overlevende område for å oppnå den minste tilsvarende tiden eller innsamlingsfrekvensen spesifisert av målsystemet
-XX:GCTimeRatioSett søppelinnsamlingstiden som en prosentandel av programmets kjøretidFormelen er 1/(1+n)
-XX:+ScavengeBeforeFullGCFull GC før du ringer YGCtrue
-XX:+UseConcMarkSweepGCBruk CMS-minnesamlingEtter å ha konfigurert dette i testen, er konfigurasjonen -XX:NewRatio=4 ugyldig, og årsaken er ukjent, så det er best å bruke -Xmn for å sette størrelsen på den nye generasjonen akkurat nå
-XX:+Aggressiv HeapForsøket er å bruke mye fysisk minneOptimalisering av langvarig stor minnebruk, kan kontrollere databehandlingsressurser (minne, antall prosessorer, minst 256 MB minne) er nødvendig
-XX:CMSFullGCsBeforeCompactionHvor mange ganger skjer minnekomprimering?Siden den samtidige kollektoren ikke komprimerer og organiserer minnerommet, vil den produsere "fragmentering" etter å ha kjørt en periode, noe som reduserer operasjonseffektiviteten
-XX:+CMSParallelMerkAktivertNederste markørpauser
-XX+UseCMSCompactAtFullCollectionKompresjon av alderdommen da det var FullGCCMS flytter ikke minne, så det er veldig lett å produsere fragmentering, noe som resulterer i utilstrekkelig minne, så minnekomprimering vil være aktivert på dette tidspunktet. Det er en god vane å øke denne parameteren. Det kan påvirke ytelsen, men det kan eliminere rusk
-XX:+BrukCMSInitiatingOccupancyOnlyStart CMS-samling med manuell definisjonsinitialiseringHostSpot er forbudt å utløse CMS GC på egenhånd
-XX:CMSInitiatingOccupancyFraction=70CMS-innsamling begynner etter at 70 % av søppelet er brukt som avfallsresirkuleringDenne verdien må settes for å oppfylle følgende formel, CMSInitiatingOccupancyFraction
-XX:CMSInitiatingPermOccupancyFractionSett Perm Gen-bruken til å utløses når forholdet er nådd92
-XX:+CMSIncrementalModeSatt til inkrementell modusBrukt i enkelt-CPU-kabinetter
-XX:+CMSClassUnloadingEnabledPermanent CMS GC
-XX:+PrintGCGC-loggutgangSamme som -verbose:gc
-XX:+PrintGCDetailsIbidFlere detaljer
-XX:+PrintGCTimeStampsUtdata GC-tidsstempelBruk den med PrintGC-parameteren ovenfor, eller skriv noe som -XX:+PrintGC:PrintGCTimeStamps
-XX:+PrintGC:PrintGCTimeStampsKan blandes med -XX:+PrintGC -XX:+PrintGCDetails
-XX:+PrintGCApplicationStoppedTimeTiden programmet pauser under papiravfallssamling. Kan blandes med det ovennevnteUtdataformat: Total tid applikasjonstrådene ble stoppet for: 0,0468229 sekunder
-XX:+PrintGCApplicationConcurrentTimeSkriv ut den uavbrutte kjøretiden til programmet før hver søppelsamlingKan blandes med ovennevnte, utdataskjema: Applikasjonstid: 0,5291524 sekunder
-XX:+PrintHeapAtGCSkriv ut detaljert stakkinformasjon før og etter GC
-Xloggc:filnavnLogg relevant logginformasjon til en fil for analyseArbeider med de ovennevnte få
-XX:+PrintClassHistogramEtter å ha trykket Ctrl+Break i konsollen, skriv ut klasseinformasjonen
-XX:+PrintKlasseHistogramForFullGCFullGC før trykking
-XX:+PrintTLABSe bruken av TLAB-rommet
XX:+PrintTenuringDistributionSe terskelen for den nye overlevelsesperioden etter hver mindre GC
-EaSlå på assert assert assert
-XprofYtelsesdiagnostikk
-XrunhprofYtelsesdiagnostikk
-XX:+TraceClassLoadingSkriver ut informasjon om lasteprosessen for klassenLigner på [Loaded java.util.AbstractList$Itr fra /Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home/jre/lib/rt.jar]
-XX:+TraceClassUnloadingUtskriftsklasse avinstalleringsprosessinformasjon
XbootclasspathSpesifiserer lasting av klasser som ikke krever sjekkerÅ hoppe over nødvendige forhåndssjekker kan redusere lastetiden, men det er ikke trygt
-XX:+PrintKompilasjonSkriv ut metodenavnet som Hotspot kompilerer med JIT
-XX:+HeapDumpOnOutOfMemoryErrorOM når man genererer en heap dumpStandardutgangen er i rotmappen hvor klassefilene lagres
-XX:HeapDumpPathSett ut OM dump-filstienBruk med -XX:+HeapDumpOnOutOfMemoryError

Vedlegg

[Standard VM-parameterark]

ParameternavnbeskrivelseStandard
-d32Bruk en 32-bits datamodell (hvis tilgjengelig)
-d64Bruk en 64-bits datamodell (hvis tilgjengelig)
-serverVelg server-VMStandard VM er server fordi du kjører på en serverlignende maskin.
-cp < mappe- og zip/jar-filklasse søkesti >
-classpath < klassesøkestien for kataloger og zip/jar-filer >Bruk : en liste over separate kataloger, JAR-arkiver og ZIP-arkiver for å søke etter klassefiler
-D<名称>=<值>Egenskaper ved mengdesystemet
-Ordrik: [klasse eller GC eller JNI]Aktiver detaljert utdata
-versjonEksporter produktversjonen og avslutt
-<值>versjon:Utdatert
-ShowversjonEksporter produktversjonen og fortsett
-jre-restrict-search eller -no-jre-restrict-searchUtdatert
-? -hjelpSend ut denne hjelpemeldingen
-XHjelp med utdata med ikke-standard alternativer
-EA[:< pakkenavn, klassenavn>]assert
-enableassertions[:< pakkenavn, klassenavn>]Aktiver assertioner ved den angitte granulariteten
-da[:< pakkenavn, klassenavn>]
-disableassertions[:< pakkenavn, klassenavn>]Deaktiver assertioner med en spesifisert granularitet
-esa eller -enablesystemassertionsAktiver systempåstander
-dsa eller -disablesystemassertionsDeaktiver systemassertions
-agentlib:<libname>[=<选项>]Last inn det native agentbiblioteket <libname>For eksempel, -agentlib:hprofSe også -agentlib:jdwp=help og -agentlib:hprof=help
-agentpath:<pathname>[=<选项>]Last inn det lokale agentbiblioteket med full pathname
-javaagent:<jarpath>[=<选项>]For å laste inn Java programmeringsagenten, se java.lang.instrument
-plask:<imagepath>Vis oppstartsskjermen med det angitte bildet






Foregående:Nuget Series 1 bruker asp.net til å bygge et privat Nuget-arkiv
Neste:Mysql CURRENT_TIMESTAMP og ON UPDATE CURRENT_TIMESTAMP differensiert
 Vert| Publisert 13.01.2022 09:50:32 |


Merk: -Xms256m -Xmx1536m kan ikke plasseres etter jar-parameteren!
Ansvarsfraskrivelse:
All programvare, programmeringsmateriell eller artikler publisert av Code Farmer Network er kun for lærings- og forskningsformål; Innholdet ovenfor skal ikke brukes til kommersielle eller ulovlige formål, ellers skal brukerne bære alle konsekvenser. Informasjonen på dette nettstedet kommer fra Internett, og opphavsrettstvister har ingenting med dette nettstedet å gjøre. Du må fullstendig slette innholdet ovenfor fra datamaskinen din innen 24 timer etter nedlasting. Hvis du liker programmet, vennligst støtt ekte programvare, kjøp registrering, og få bedre ekte tjenester. Hvis det foreligger noen krenkelse, vennligst kontakt oss på e-post.

Mail To:help@itsvse.com