Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 17284|Svar: 1

[Källa] JVM-parametrar Alternativ

[Kopiera länk]
Publicerad den 2020-8-31 22:20:25 | | |
Vi delar in JVM-parametrarna i tre delar baserat på JVM-parametrarna som börjar med -X eller -XX:
1. Börjar med -, standardalternativet för VM, VM-specifikationsalternativet;
2. De som börjar med -X är icke-standardiserade (dessa parametrar är inte garanterade att implementeras på alla JVM), och om det sker några ändringar i den nya versionen kommer ingen notifikation att utfärdas.
3. De som börjar med -XX är instabila och rekommenderas inte för användning i produktionsmiljöer. Ändringar i dessa parametrar kommer inte heller att meddelas. Bool-parameteralternativ: -XX:+ på, -XX:- av. (t.ex. -XX:+PrintGCDetails) Det numeriska parameteralternativet sätts med -XX:=. Siffrorna kan vara m/m (megabyte), k/k (kilobyte), g/g (g-byte). Till exempel: 32K betyder 32768 bytes. (t.ex. -XX:MaxPermSize=64m) Strängparameteralternativet sätts av -XX:=, vilket vanligtvis används för att specificera en fil, sökväg eller kommandolista. (t.ex. -XX:HeapDumpPath=./java_pid.hprof) kommandot java -help kan lista standardalternativen för java-applikationsstart (se Appendix Standard VM Parameter Table, olika JVM-implementationer skiljer sig åt). java -X kan lista icke-standardparametrar (vilket är en utvidgning av JVM). -X-relaterade alternativ är inte standard och kommer inte att meddelas om de ändras. Om du vill se de JVM-parametrar som för närvarande används av din applikation kan du använda: ManagementFactory.getRuntimeMXBean().getInputArguments().

ParameternamnbetydelseStandardinställningar/Anteckningar
-XMSInitial heapstorlek1/64 (<1GB) fysiskt minne Som standard (MinHeapFreeRatio-parametern kan justeras) När det fria heapminnet är mindre än 40 %, kommer JVM att öka heapen tills maxgränsen är -Xmx
-XmxMaximal heapstorlek1/4 av det fysiska minnesvärdet (<1GB) som standard (MaxHeapFreeRatio-parametern kan justeras) När det fria heapminnet är större än 70 %, kommer JVM att minska heapen tills minimigränsen är -xms
-XmnGenerationsstorlek (JDK 1.4 eller högre)Efter att den nya generationen har ökat kommer storleken på den gamla generationen att minska. Detta värde har en betydande inverkan på systemets prestanda. Sun rekommenderar officiellt konfigurationen till 3/8 av hela stacken
-XssStackstorleken för varje trådEfter JDK5.0 var varje trådstackstorlek 1M, och tidigare var varje trådstacksstorlek 256K, vilket kan vara i K-, M- eller G-enheter
-XX:ThreadStackSizeIbid0 betyder att standardvärdet används, och det kan inte förenas
-XX:PermSizeSätt initialvärdet för permanent algebra1/64 av det fysiska minnet
-XX:MaxPermSizeSätt maximalt permanent genereringEn fjärdedel av det fysiska minnet
-XX:NewRatioFörhållandet mellan kenozoikum (inklusive Eden och två överlevandezoner) till ålderdom (exklusive permanent generation)-XX:NewRatio=4 betyder att förhållandet mellan kenozoikum och ålderdom är 1:4, och kenozoikum står för 1/5 av hela stacken, Xms=Xmx och Xmn är satt, denna parameter behöver inte sättas.
-XX:SurvivorRatioStorleksförhållandet mellan Eden-området och Survivor-områdetOm man sätter den till 8 är förhållandet mellan två Survivor-regioner och en Eden-region 2:8, och en Survivor-region står för 1/10 av hela kenozoikum
-XX:LargePageSizeInBytesStorleken på minnessidan bör inte ställas in för stor, eftersom det påverkar storleken på Perm=128 m
-XX:+UseFastAccessorMethodsSnabb optimering av originaltypen
-XX:+DisableExplicitGCStäng System.gc()Denna parameter kräver rigorös testning
-XX:MaxTenuringThresholdMaximal ålder på soporOm det sätts till 0 kommer det nya generationsobjektet att gå in i den gamla eran direkt utan att passera genom Survivor-området. För äldre applikationer kan effektiviteten förbättras. Om detta värde sätts till ett stort värde kommer det nya generationsobjektet att kopieras flera gånger i Survivor-regionen, vilket kan öka överlevnadstiden för objektet i den nya generationen och öka sannolikheten för att återanvändas i den nya generationen, vilket endast gäller för seriell GC
-XX:+AggressiveOptsSnabbare sammanställning
-XX:+UseBiasedLockingPrestandaförbättringar för låsmekanismer
-XnoclassgcInaktivera återvinning av sopor
-XX:SoftRefLRUPolicyMSPerMBSoftReferences överlevnadstid per megahög ledigt utrymme1:or
-XX:PretenureSizeThresholdObjektets storlek är direkt fördelad i ålderdomenEtt annat fall där den nya generationen använder Parallel Scavenge GC är ogiltigt, och ett annat fall där det tilldelas direkt i åldern är ett stort arrayobjekt utan externa referensobjekt i arrayen.
-XX:TLABWasteTargetPercentAndel av TLAB i Eden-området1%
-XX:+CollectGen0FirstOm YGC kommer först när FullGC blirfalse
-XX:+UseParallelGCFull GC använder parallell MSCSe [GC-parametrar][1]
-XX:+UseParNewGCAtt sätta den nya generationen att samla in parallelltDen kan användas tillsammans med CMS-samling, JDK 5.0 eller senare, och JVM kommer att ställa in den enligt systemkonfigurationen, så det finns inget behov av att sätta detta värde igen
-XX:ParallellGCThreadsAntalet trådar för parallellkollektorenDetta värde konfigureras bäst lika med antalet processorer och är också lämpligt för CMS
-XX:+UseParallelOldGCDen gamla metoden för sophämtning är Parallel CompactingDetta är parameteralternativet som visas i JAVA 6
-XX:MaxGCPauseMillisMaximal tid per avfallsinsamling av ny generation (maximal paustid)Om denna tid inte kan hållas kommer JVM automatiskt att ändra storleken på den nya generationen för att uppfylla detta värde.
-XX:+UseAdaptiveSizePolicyVälj automatiskt storleken på det nya generationsområdet och motsvarande förhållande till överlevandeområdetNär detta alternativ är inställt väljer parallellkollektoren automatiskt storleken på det nya generationsområdet och motsvarande andel av överlevarytan för att uppnå den minsta motsvarande tiden eller insamlingsfrekvensen som målsystemet specificerar
-XX:GCTimeRatioSätt tiden för skräpupphämtning som en procentandel av programmets körtidFormeln är 1/(1+n)
-XX:+ScavengeBeforeFullGCFullständig GC innan du ringer YGCtrue
-XX:+UseConcMarkSweepGCAnvänd CMS-minnessamlingEfter att ha konfigurerat detta i testet är konfigurationen -XX:NewRatio=4 ogiltig, och orsaken är okänd, så det är bäst att använda -Xmn för att ställa in storleken på den nya generationen just nu
-XX:+AggressiveHeapFörsöket är att använda mycket fysiskt minneOptimering av långsiktig stor minnesanvändning, kan kontrollera datorresurser (minne, antal processorer, minst 256 MB minne) krävs
-XX:CMSFullGCsBeforeCompactionHur många gånger sker minneskomprimering?Eftersom den samtidiga kollektorn inte komprimerar och organiserar minnesutrymmet, kommer den att producera "fragmentering" efter att ha körts under en tid, vilket minskar operationseffektiviteten
-XX:+CMSParallelAnmärkningAktiveradPauser på nedre markören
-XX+UseCMSCompactAtFullCollectionKompression av ålderdomen när det var FullGCCMS flyttar inte minne, så det är mycket lätt att skapa fragmentering, vilket resulterar i otillräckligt minne, så minneskomprimering aktiveras vid denna tidpunkt. Det är en bra vana att öka denna parameter. Det kan påverka prestandan, men det kan eliminera skräp
-XX:+UseCMSInitiatingOccupancyOnlyStarta CMS-insamling med manuell definitionsinitieringHostSpot är förbjudet att trigga CMS GC på egen hand
-XX:CMSInitiatingOccupancyFraction=70CMS-insamlingen börjar efter att 70 % av soporna har använts som återvinning av soporDetta värde måste sättas för att uppfylla följande formel, CMSInitiatingOccupancyFraction
-XX:CMSInitiatingPermOccupancyFractionStäll in Perm Gen-användningen att triggas när förhållandet uppnås92
-XX:+CMSIncrementalModeStäll in på inkrementellt lägeAnvänds i en-CPU-chassin
-XX:+CMSClassUnloadingEnabledPermanent CMS GC
-XX:+PrintGCGC-loggutdataSamma som -verbose:gc
-XX:+PrintGCDetailsIbidMer information
-XX:+PrintGCTimeStampsUtdata GC-tidsstämpelAnvänd den med ovanstående PrintGC-parameter, eller skriv något i stil med -XX:+PrintGC:PrintGCTimeStamps
-XX:+PrintGC:PrintGCTimeStampsKan blandas med -XX:+PrintGC -XX:+PrintGCDetails
-XX:+PrintGCApplicationStoppadTimeTiden då programmet pausar under papperskorgsinsamling. Kan blandas med ovanståendeUtdataformat: Total tid för vilken applikationstrådar stoppades: 0,0468229 sekunder
-XX:+PrintGCApplicationConcurrentTimeSkriv ut programmets obrutna exekveringstid före varje skräpsamlingKan blandas med ovanstående, utdata: Applikationstid: 0,5291524 sekunder
-XX:+PrintHeapAtGCSkriv ut detaljerad stackinformation före och efter GC
-Xloggc:filnamnLogga relevant logginformation till en fil för analysFungerar med de ovan nämnda få
-XX:+PrintClassHistogramEfter att ha tryckt på Ctrl+Break i konsolen, skriv ut klassinformationen
-XX:+PrintClassHistogramBeforeFullGCFullGC före tryckning
-XX:+PrintTLABVisa användningen av TLAB-utrymmet
XX:+PrintTenuringDistributionVisa tröskeln för den nya överlevnadsperioden efter varje mindre GC
-eaSlå på assert assert assert
-XprofPrestandadiagnostik
-XrunhprofPrestandadiagnostik
-XX:+TraceClassLoadingSkriver ut information om klassladdningsprocessenLiknande [Loaded java.util.AbstractList$Itr från /Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home/jre/lib/rt.jar]
-XX:+TraceClassUnloadingUtskriftsklass avinstallationsprocess information
XbootclasspathSpecificerar laddningen av klasser som inte kräver kontrollerAtt hoppa över nödvändiga förladdningskontroller kan minska laddningstiden, men det är inte säkert
-XX:+PrintSamlingSkriv ut metodnamnet som Hotspot kompilerar med hjälp av JIT
-XX:+HeapDumpOnOutMemoryErrorOM när man genererar en heapdumpStandardutdata finns i rotmappen där klassfilerna lagras
-XX:HeapDumpPathStäll in den utgående OM dump-filvägenAnvänd med -XX:+HeapDumpOnOutOfMemoryError

Bilaga

[Standard VM-parameterblad]

ParameternamnbeskrivningStandard
-d32Använd en 32-bitars datamodell (om tillgänglig)
-d64Använd en 64-bitars datamodell (om tillgänglig)
-serverVälj server-VMStandard-VM:n är server eftersom du kör på en serverliknande maskin.
-cp < katalog- och zip/jar-filklasssökväg >
-classpath < sökvägen för kataloger och zip/jar-filer >Använd : en lista över separata kataloger, JAR-arkiv och ZIP-arkiv för att söka efter klassfiler
-D<名称>=<值>Mängdsystemets egenskaper
-Ordrik: [klass eller GC eller JNI]Aktivera detaljerad utdata
-versionExportera produktversionen och avsluta
-<值>version:Föråldrad
-ShowversionExportera produktversionen och fortsätt
-jre-restrict-search eller -no-jre-restrict-searchFöråldrad
-? -HjälpSkicka ut detta hjälpmeddelande
-XHjälp med utdata med icke-standardiserade alternativ
-EA[:< paketnamn, klassnamn>]Assert
-enableassertions[:< paketnamn, klassnamn>]Aktivera assertioner vid den angivna granulariteten
-da[:< paketnamn, klassnamn>]
-disableassertions[:< paketnamn, klassnamn>]Inaktivera assertioner med en specificerad granularitet
-esa eller -enablesystemassertionerAktivera systempåståenden
-dsa eller -disablesystemassertionerInaktivera systemassertioner
-agentlib:<libname>[=<选项>]Ladda det inbyggda agentbiblioteket <libname>Till exempel, -agentlib:hprofSe även -agentlib:jdwp=help och -agentlib:hprof=help
-agentpath:<pathname>[=<选项>]Ladda det lokala agentbiblioteket med hela sökvägsnamnet
-Javaagent:<jarpath>[=<选项>]För att ladda Java programmeringsagent, se java.lang.instrument
-plask:<imagepath>Visa startskärmen med den angivna bilden






Föregående:Nuget Series 1 använder asp.net för att bygga ett privat Nuget-repository
Nästa:Mysql CURRENT_TIMESTAMP och ON UPDATE CURRENT_TIMESTAMP åtskilda
 Hyresvärd| Publicerad den 2022-1-13 09:50:32 |


Notera: -Xms256m -Xmx1536m kan inte placeras efter burk-parametern!
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com