Αυτό το άρθρο είναι ένα άρθρο καθρέφτη της αυτόματης μετάφρασης, κάντε κλικ εδώ για να μεταβείτε στο αρχικό άρθρο.

Άποψη: 17284|Απάντηση: 1

[Πηγή] Παράμετροι JVM Επιλογές

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 2020-8-31 22:20:25 | | |
Χωρίζουμε τις παραμέτρους JVM σε τρία μέρη με βάση τις παραμέτρους JVM που ξεκινούν με -X ή -XX:
1. Ξεκινώντας με -, την τυπική επιλογή VM, την επιλογή προδιαγραφών VM.
2. Αυτά που ξεκινούν με -X είναι μη τυπικά (αυτές οι παράμετροι δεν είναι εγγυημένο ότι θα εφαρμοστούν σε όλα τα JVM) και εάν υπάρξουν αλλαγές στη νέα έκδοση, δεν θα εκδοθεί ειδοποίηση.
3. Αυτά που ξεκινούν με -XX είναι ασταθή και δεν συνιστώνται για χρήση σε περιβάλλοντα παραγωγής. Οι αλλαγές σε αυτές τις παραμέτρους επίσης δεν θα ειδοποιούνται. Επιλογές παραμέτρων Bool: -XX:+ ενεργό, -XX:- απενεργοποιημένο. (π.χ. -XX:+PrintGCDetails) Η επιλογή αριθμητικής παραμέτρου ορίζεται από -XX:=. Οι αριθμοί μπορεί να είναι m/m (megabyte), k/k (kilobyte), g/g (g-byte). Για παράδειγμα: 32K σημαίνει 32768 byte. (π.χ. -XX:MaxPermSize=64m) Η επιλογή παραμέτρου συμβολοσειράς ορίζεται από -XX:=, η οποία χρησιμοποιείται συνήθως για τον καθορισμό ενός αρχείου, μιας διαδρομής ή μιας λίστας εντολών. (π.χ. -XX:HeapDumpPath=./java_pid.hprof) η εντολή java -help μπορεί να παραθέσει τις τυπικές επιλογές για την εκκίνηση εφαρμογών java (βλ. Παράρτημα Τυπικός πίνακας παραμέτρων VM, διαφορετικές υλοποιήσεις JVM είναι διαφορετικές). Η java -X μπορεί να παραθέσει μη τυπικές παραμέτρους (η οποία είναι μια επέκταση του JVM). -Οι επιλογές που σχετίζονται με το X δεν είναι τυπικές και δεν θα ειδοποιηθούν εάν αλλάξουν. Εάν θέλετε να δείτε τις παραμέτρους JVM που χρησιμοποιούνται αυτήν τη στιγμή από την εφαρμογή σας, μπορείτε να χρησιμοποιήσετε: ManagementFactory.getRuntimeMXBean().getInputArguments().

Όνομα παραμέτρουέννοιαΠροεπιλογές/Σημειώσεις
-ΧμςΑρχικό μέγεθος σωρού1/64 (<1 GB) φυσικής μνήμης Από προεπιλογή (η παράμετρος MinHeapFreeRatio μπορεί να προσαρμοστεί) Όταν η ελεύθερη μνήμη σωρού είναι μικρότερη από 40%, το JVM θα αυξήσει το σωρό μέχρι το μέγιστο όριο των -Xmx
-ΧΜΧΜέγιστο μέγεθος σωρού1/4 της προεπιλεγμένης φυσικής μνήμης (<1 GB) (η παράμετρος MaxHeapFreeRatio μπορεί να προσαρμοστεί) Όταν η ελεύθερη μνήμη σωρού είναι μεγαλύτερη από 70%, το JVM θα μειώσει το σωρό μέχρι το ελάχιστο όριο των -xms
-ΧμνΜέγεθος γενιάς (JDK 1.4 ή παραπάνω)Μετά την αύξηση της νέας γενιάς, το μέγεθος της παλιάς γενιάς θα μειωθεί. Αυτή η τιμή έχει σημαντικό αντίκτυπο στην απόδοση του συστήματος. Η Sun συνιστά επίσημα τη διαμόρφωση στα 3/8 ολόκληρης της στοίβας
-ΧσσΤο μέγεθος στοίβας κάθε νήματοςΜετά το JDK5.0, κάθε μέγεθος στοίβας νημάτων ήταν 1M και προηγουμένως κάθε μέγεθος στοίβας νημάτων ήταν 256K, το οποίο μπορεί να είναι σε μονάδες K, M ή G
-XX:Μέγεθος στοίβας νήματοςΌ.π.0 σημαίνει ότι χρησιμοποιείται η προεπιλεγμένη τιμή και δεν μπορεί να ενωθεί
-XX: ΜόνιμοΜέγεθοςΟρίστε την αρχική τιμή της μόνιμης άλγεβρας1/64 της φυσικής μνήμης
-XX: Μέγιστο PermSizeΟρίστε τη μόνιμη μέγιστη παραγωγή1/4 της φυσικής μνήμης
-XX:ΝέαΑναλογίαΑναλογία Καινοζωικού (συμπεριλαμβανομένης της Εδέμ και δύο ζωνών Survivor) προς Γήρας (εξαιρουμένης της μόνιμης γενιάς)-XX:NewRatio=4 σημαίνει ότι η αναλογία του Καινοζωικού προς το Γήρας είναι 1:4 και το Καινοζωικό αντιπροσωπεύει το 1/5 ολόκληρης της στοίβας, έχει οριστεί Xms=Xmx και Xmn, αυτή η παράμετρος δεν χρειάζεται να οριστεί.
-XX:Αναλογία επιζώντοςΗ αναλογία μεγέθους της περιοχής Eden προς την περιοχή SurvivorΕάν οριστεί στο 8, η αναλογία δύο περιοχών Survivor προς μία περιοχή Eden είναι 2:8 και μία περιοχή Survivor αντιπροσωπεύει το 1/10 ολόκληρου του Καινοζωικού
-XX:LargePageSizeInBytesΤο μέγεθος της σελίδας μνήμης δεν πρέπει να οριστεί πολύ μεγάλο, καθώς θα επηρεάσει το μέγεθος της περμανάντ=128μ
-XX:+UseFastAccessorMethodsΓρήγορη βελτιστοποίηση του αρχικού τύπου
-XX:+ΑπενεργοποίησηΡητόGCΚλείστε το System.gc()Αυτή η παράμετρος απαιτεί αυστηρό έλεγχο
-XX:MaxTenuringThresholdΜέγιστη ηλικία σκουπιδιώνΕάν οριστεί στο 0, το αντικείμενο νέας γενιάς θα εισέλθει απευθείας στην παλιά εποχή χωρίς να περάσει από την περιοχή Survivor. Για παλαιότερες εφαρμογές, η απόδοση μπορεί να βελτιωθεί. Εάν αυτή η τιμή οριστεί σε μεγάλη τιμή, το αντικείμενο νέας γενιάς θα αντιγραφεί πολλές φορές στην περιοχή Survivor, γεγονός που μπορεί να αυξήσει τον χρόνο επιβίωσης του αντικειμένου στη νέα γενιά και να αυξήσει την πιθανότητα ανακύκλωσης στη νέα γενιά, κάτι που ισχύει μόνο για σειριακό GC
-XX:+Επιθετικές επιλογέςΕπιταχύνετε τη μεταγλώττιση
-XX:+UseBiasedLockingΒελτιώσεις απόδοσης για μηχανισμούς κλειδώματος
-XnoclassgcΑπενεργοποιήστε την ανακύκλωση σκουπιδιών
-XX:SoftRefLRUPolicyMSPerMBΟ χρόνος επιβίωσης του SoftReference ανά μεγασωρό ελεύθερου χώρου1 δευτ
-XX:PretenureSizeThresholdΤο μέγεθος του αντικειμένου κατανέμεται άμεσα στα γηρατειάΜια άλλη περίπτωση όπου η νέα γενιά χρησιμοποιεί το Parallel Scavenge GC δεν είναι έγκυρη και μια άλλη περίπτωση όπου εκχωρείται απευθείας στα γηρατειά είναι ένα μεγάλο αντικείμενο πίνακα χωρίς εξωτερικά αντικείμενα αναφοράς στον πίνακα.
-XX:TLABWasteTargetPercentΠοσοστό TLAB στην περιοχή Eden1%
-XX:+CollectGen0FirstΕάν το YGC έρχεται πρώτο όταν το FullGCfalse
-XX:+ΧρήσηΠαράλληληGCΤο Full GC χρησιμοποιεί παράλληλο MSCΔείτε [ Παράμετροι GC ][1]
-XX:+UseParNewGCΡύθμιση της νέας γενιάς για παράλληλη συλλογήΜπορεί να χρησιμοποιηθεί σε συνδυασμό με τη συλλογή CMS, JDK 5.0 ή νεότερη έκδοση και το JVM θα το ρυθμίσει σύμφωνα με τη διαμόρφωση του συστήματος, επομένως δεν χρειάζεται να ορίσετε ξανά αυτήν την τιμή
-XX:ParallelGCThreadsΟ αριθμός των σπειρωμάτων για τον παράλληλο συλλέκτηΑυτή η τιμή διαμορφώνεται καλύτερα ίση με τον αριθμό των επεξεργαστών και είναι επίσης κατάλληλη για CMS
-XX:+UseParallelOldGCΗ παλιά μέθοδος συλλογής σκουπιδιών είναι η παράλληλη συμπίεσηΑυτή είναι η επιλογή παραμέτρου που εμφανίζεται στην JAVA 6
-XX:MaxGCPauseMillisΜέγιστος χρόνος συλλογής αποβλήτων νέας γενιάς (μέγιστος χρόνος παύσης)Εάν αυτός ο χρόνος δεν μπορεί να τηρηθεί, το JVM θα αλλάξει αυτόματα το μέγεθος της νέας γενιάς για να καλύψει αυτήν την τιμή.
-XX:+UseAdaptiveSizePolicyΕπιλέξτε αυτόματα το μέγεθος της περιοχής νέας γενιάς και την αντίστοιχη αναλογία της περιοχής επιζώντωνΌταν οριστεί αυτή η επιλογή, ο παράλληλος συλλέκτης επιλέγει αυτόματα το μέγεθος της περιοχής νέας γενιάς και την αντίστοιχη αναλογία της περιοχής επιζώντων για να επιτύχει τον ελάχιστο αντίστοιχο χρόνο ή συχνότητα συλλογής που καθορίζεται από το σύστημα στόχο
-XX:GCTimeRatioΟρίστε το χρόνο συλλογής απορριμμάτων ως ποσοστό του χρόνου εκτέλεσης του προγράμματοςΟ τύπος είναι 1/(1+n)
-XX:+ScavengeBeforeFullGCΠλήρες GC πριν καλέσετε το YGCtrue
-XX:+UseConcMarkSweepGCΧρήση συλλογής μνήμης CMSΜετά τη διαμόρφωση αυτού στη δοκιμή, η διαμόρφωση του -XX:NewRatio=4 δεν είναι έγκυρη και ο λόγος είναι άγνωστος, επομένως είναι καλύτερο να χρησιμοποιήσετε -Xmn για να ορίσετε το μέγεθος της νέας γενιάς αυτήν τη στιγμή
-XX:+ΕπιθετικόςΣωρόςΗ προσπάθεια είναι να χρησιμοποιήσετε πολλή φυσική μνήμηΒελτιστοποίηση της μακροπρόθεσμης χρήσης μεγάλης μνήμης, μπορεί να ελέγξει ότι απαιτούνται υπολογιστικοί πόροι (μνήμη, αριθμός επεξεργαστών, τουλάχιστον 256MB μνήμης)
-XX:CMSFullGCsΠρινΣυμπίεσηΠόσες φορές συμβαίνει η συμπίεση της μνήμης;Δεδομένου ότι ο ταυτόχρονος συλλέκτης δεν συμπιέζει και δεν οργανώνει το χώρο της μνήμης, θα προκαλέσει "κατακερματισμό" μετά την εκτέλεση για κάποιο χρονικό διάστημα, γεγονός που μειώνει την απόδοση λειτουργίας
-XX:+CMSParallelRemarkEnabledΠαύση κάτω δείκτη
-XX+ΧρήσηCMSCompactAtFullCollectionΣυμπίεση της τρίτης ηλικίας όταν ήταν FullGCΤο CMS δεν μετακινεί τη μνήμη, επομένως είναι πολύ εύκολο να παραχθεί κατακερματισμός, με αποτέλεσμα την ανεπαρκή μνήμη, επομένως η συμπίεση μνήμης θα ενεργοποιηθεί αυτή τη στιγμή. Είναι καλή συνήθεια να αυξάνετε αυτήν την παράμετρο. Μπορεί να επηρεάσει την απόδοση, αλλά μπορεί να εξαλείψει τα συντρίμμια
-XX:+ΧρήσηCMSInitiatingOccupancyOnlyΞεκινήστε τη συλλογή CMS με μη αυτόματη αρχικοποίηση ορισμούΤο HostSpot απαγορεύεται να ενεργοποιήσει το CMS GC από μόνο του
-XX:CMSInitiatingOccupancyFraction=70Η συλλογή CMS ξεκινά αφού το 70% των σκουπιδιών χρησιμοποιηθεί ως ανακύκλωση σκουπιδιώνΑυτή η τιμή πρέπει να οριστεί ώστε να πληροί τον ακόλουθο τύπο, CMSInitiatingOccupancyFraction
-XX:CMSInitiatingPermOccupancyFractionΡυθμίστε τη χρήση του Perm Gen ώστε να ενεργοποιείται όταν επιτευχθεί η αναλογία92
-XX:+CMSIncrementalModeΡύθμιση σε λειτουργία επαύξησηςΧρησιμοποιείται σε θήκες με μία CPU
-XX:+CMSClassUnloadingEnabledΜόνιμο CMS GC
-XX:+ΕκτύπωσηGCΈξοδος αρχείου καταγραφής GCΤο ίδιο με το -verbose:gc
-XX:+ΕκτύπωσηGCDetailsΌ.π.Περισσότερες λεπτομέρειες
-XX:+ΕκτύπωσηGCTimeStampsΧρονική σήμανση GC εξόδουΧρησιμοποιήστε το με την παραπάνω παράμετρο PrintGC ή γράψτε κάτι σαν -XX:+PrintGC:PrintGCTimeStamps
-XX:+ΕκτύπωσηGC:ΕκτύπωσηGCTimeStampsΜπορεί να αναμιχθεί με -XX:+PrintGC -XX:+PrintGCDetails
-XX:+ΕκτύπωσηGCApplicationStoppedTimeΟ χρόνος παύσης του προγράμματος κατά τη συλλογή απορριμμάτων εκτύπωσης. Μπορεί να αναμιχθεί με τα παραπάνωΜορφή εξόδου: Συνολικός χρόνος για τον οποίο διακόπηκαν τα νήματα εφαρμογών: 0,0468229 δευτερόλεπτα
-XX:+ΕκτύπωσηGCApplicationConcurrentTimeΕκτυπώστε τον αδιάλειπτο χρόνο εκτέλεσης του προγράμματος πριν από κάθε αποκομιδή απορριμμάτωνΜπορεί να αναμιχθεί με τα παραπάνω, μορφή εξόδου: Χρόνος εφαρμογής: 0,5291524 δευτερόλεπτα
-XX:+ΕκτύπωσηHeapAtGCΕκτυπώστε λεπτομερείς πληροφορίες στοίβας πριν και μετά το GC
-Xloggc:όνομα αρχείουΚαταγράψτε τις σχετικές πληροφορίες καταγραφής σε ένα αρχείο για ανάλυσηΛειτουργεί με τα παραπάνω λίγα
-XX:+Ιστόγραμμα Κλάσης ΕκτύπωσηςΑφού πατήσετε Ctrl+Break στην κονσόλα, εκτυπώστε τις πληροφορίες κλάσης
-XX:+PrintClassHistogramBeforeFullGCFullGC πριν από την εκτύπωση
-XX:+ΕκτύπωσηTLABΔείτε τη χρήση του χώρου TLAB
XX:+PrintTenuringDistributionΔείτε το όριο για τη νέα περίοδο επιβίωσης μετά από κάθε ανήλικο GC
-εαΕνεργοποίηση διεκδίκησης
-ΧπροφΔιαγνωστικά απόδοσης
-ΧρούνχροφΔιαγνωστικά απόδοσης
-XX:+TraceClassLoadingΕκτυπώνει πληροφορίες σχετικά με τη διαδικασία φόρτωσης κλάσηςΠαρόμοιο με το [Φορτωμένο java.util.AbstractList$Itr από το /Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home/jre/lib/rt.jar]
-XX:+TraceClassΕκφόρτωσηΕκτύπωση πληροφοριών διαδικασίας απεγκατάστασης κλάσης
XbootclasspathΚαθορίζει τη φόρτωση κλάσεων που δεν απαιτούν ελέγχουςΗ παράλειψη των απαραίτητων ελέγχων πριν από τη φόρτωση μπορεί να μειώσει τον χρόνο φόρτωσης, αλλά δεν είναι ασφαλής
-XX:+ΕκτύπωσηΜεταγλώττισηΕκτυπώστε το όνομα της μεθόδου που μεταγλωττίζει το Hotspot χρησιμοποιώντας JIT
-XX:+HeapDumpOnOutOfMemoryErrorOM κατά τη δημιουργία μιας χωματερής σωρούΗ προεπιλεγμένη έξοδος βρίσκεται στον ριζικό φάκελο όπου αποθηκεύονται τα αρχεία κλάσης
-XX:HeapDumpPathΟρίστε τη διαδρομή του αρχείου ένδειξης σφαλμάτων εξόδου OMΧρήση με -XX:+HeapDumpOnOutOfMemoryError

Προσάρτημα

[Τυπικό φύλλο παραμέτρων VM]

Όνομα παραμέτρουπεριγραφήΠροεπιλογή
-δ32Χρήση μοντέλου δεδομένων 32 bit (εάν υπάρχει)
-δ64Χρήση μοντέλου δεδομένων 64 bit (εάν υπάρχει)
-διακομιστήςΕπιλέξτε την εικονική μηχανή διακομιστήΤο προεπιλεγμένο VM είναι διακομιστής επειδή εκτελείτε σε μηχάνημα που μοιάζει με διακομιστή.
-cp < κατάλογο και διαδρομή αναζήτησης κλάσης αρχείων zip/jar >
-classpath < τη διαδρομή αναζήτησης κλάσης για καταλόγους και αρχεία zip/jar >Χρησιμοποιήστε : μια λίστα διαχωρισμένων καταλόγων, αρχειοθηκών JAR και αρχειοθηκών ZIP για αναζήτηση αρχείων κλάσης
-Δ<名称>=<值>Ορισμός ιδιοτήτων συστήματος
-αναλυτικό: [τάξη ή GC ή JNI]Ενεργοποίηση λεπτομερούς εξόδου
-εκδοχήΈξοδος της έκδοσης προϊόντος και έξοδος
-<值>εκδοχή:Καταργήθηκε
-ΕμφάνισηΕξάγετε την έκδοση του προϊόντος και συνεχίστε
-jre-restrict-search ή -no-jre-restrict-searchΚαταργήθηκε
-? -ΒοήθειαΈξοδος αυτού του μηνύματος βοήθειας
Βοήθεια εξόδου με μη τυπικές επιλογές
-ea[:< όνομα πακέτου, όνομα κλάσης>]Ισχυρισμός
-enableassertions[:< όνομα πακέτου, όνομα κλάσης>]Ενεργοποίηση ισχυρισμών στην καθορισμένη υποδιαίρεση
-da[:< όνομα πακέτου, όνομα κλάσης>]
-disableassertions[:< όνομα πακέτου, όνομα κλάσης>]Απενεργοποίηση ισχυρισμών με καθορισμένη ευαισθησία
-esa ή -enablesystemassertionsΕνεργοποίηση ισχυρισμών συστήματος
-DSA ή -disablesystemassertionsΑπενεργοποιήστε τους ισχυρισμούς συστήματος
-agentlib:<libname>[=<选项>]Φόρτωση της εγγενούς βιβλιοθήκης <libname>παραγόντωνΓια παράδειγμα, -agentlib:hprofΔείτε επίσης -agentlib:jdwp=help και -agentlib:hprof=help
-agentpath:<pathname>[=<选项>]Φορτώστε τη βιβλιοθήκη τοπικού παράγοντα με το πλήρες όνομα διαδρομής
-javaagent:<jarpath>[=<选项>]Για να φορτώσετε τον παράγοντα γλώσσας προγραμματισμού Java, ανατρέξτε στο java.lang.instrument
-βουτιά:<imagepath>Εμφάνιση της οθόνης εκκίνησης με την καθορισμένη εικόνα






Προηγούμενος:Το Nuget Series 1 χρησιμοποιεί asp.net για τη δημιουργία ενός ιδιωτικού αποθετηρίου Nuget
Επόμενος:Η Mysql CURRENT_TIMESTAMP και η ON UPDATE CURRENT_TIMESTAMP διαφοροποιημένες
 Σπιτονοικοκύρης| Δημοσιεύτηκε στις 2022-1-13 09:50:32 |


Σημείωση: -Xms256m -Xmx1536m δεν μπορεί να τοποθετηθεί μετά την παράμετρο βάζου!
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com