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

Άποψη: 67240|Απάντηση: 2

[Πηγή] Παρουσιάστηκε σφάλμα JAVA κατά την προετοιμασία του σφάλματος VM

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 14/8/2017 4:49:22 μ.μ. | | | |
Παρουσιάστηκε σφάλμα κατά την προετοιμασία του VM
Δεν ήταν δυνατή η δέσμευση αρκετού χώρου για σωρό αντικειμένων 3145728KB



Πρόσφατα εργάζομαι σε ένα πρόγραμμα για Java. Αρχικά, πάντα μου άρεσε η διαχείριση μνήμης της Java, δεν χρειάζεται να ανησυχείτε για την εκχώρηση μνήμης, απλώς εκχωρήστε, ο συλλέκτης σκουπιδιών θα ανακτήσει τη μνήμη για εσάς. Τώρα το πρόγραμμα έχει αναπτυχθεί με μεγάλο όγκο δεδομένων και για λόγους ταχύτητας, θα φορτώσω όλες τις πληροφορίες στη μνήμη, κάτι που θα εξασφαλίσει γρήγορη απόκριση. Εξακολουθώ να μετράω επανειλημμένα τη μνήμη, σκέφτομαι τη δική μου ποσότητα δεδομένων, η οποία θα πρέπει να είναι αρκετή στην αρχή (το μηχάνημά μου έχει μνήμη 4G, αν και τα Windows αναγνωρίζουν 3.5G, αλλά θα πρέπει να είναι εντάξει σε σύγκριση με τον τρέχοντα όγκο δεδομένων μου).

Απροσδόκητα, το πρόγραμμα του πρώτου πειράματος διήρκεσε λίγες ώρες και συνάντησε μια εξαίρεση εκτός μνήμης. Κοιτάζοντας τις δικές μου ρυθμίσεις VM, έβαλα -Xms512M -Xmx1024M. Χωρίς να το σκεφτώ, το άλλαξα απευθείας σε -Xms512M -Xmx2048M και το αποτέλεσμα ήταν ότι δεν μπορούσα να κρατήσω αρκετό χώρο για σωρό αντικειμένων. Το πρόγραμμα δεν μπορεί να σηκωθεί. Μόνο τότε συνειδητοποίησα ότι υπήρχε ακόμα ένα όριο στην αρχική μέγιστη μνήμη. Έψαξα στο Διαδίκτυο και βρήκα πολλά άρθρα που συζητούσαν αυτό το θέμα. Τέλος, βρήκα το πιο χρήσιμο άρθρο στο DEV2DEV forum του BEA

Εδώ ο συντονιστής YuLimin έκανε το τεστ και κατέληξε στο συμπέρασμα:

Έκδοση JVM εταιρείας Πελάτης μέγιστης μνήμης (mega) Διακομιστής μέγιστης μνήμης (mega)

ΚΥΡ 1.5.x 1492 1520

SUN 1.5.5 (Linux) 2634 2660

ΚΥΡ 1.4.2 1564 1564

SUN 1.4.2 (Linux) 1900 1260

IBM 1.4.2 (Linux) 2047 Δ/Υ

BEA JRockit 1.5 (U3) 1909 1902

Χρησιμοποιώ JDK1.6.0_05 τώρα, το δοκίμασα. Το μεγαλύτερο πράγμα στην κατάσταση πελάτη είναι ότι το JDK μου δεν αναγνωρίζει την παράμετρο -Server και δεν μπορεί να ελέγξει την κατάσταση διακομιστή. Οι εκτιμήσεις είναι περίπου οι ίδιες.

SUN 1.6.0 1442 Α/α

Φαίνεται ότι είναι αδύνατο να χρησιμοποιήσετε μεγάλη μνήμη σε Java. Και το γενικό ρητό είναι ότι αν η μνήμη είναι πολύ μεγάλη, ο χρόνος συλλογής σκουπιδιών θα είναι μεγάλος. Αυτό είναι επίσης κατανοητό, γενικά συλλέγεται όταν η μνήμη δεν είναι αρκετή, η σάρωση της μνήμης 2G είναι φυσικά πολύ πιο αργή από το 1G και υπάρχουν περισσότερα αντικείμενα μνήμης, η εκτιμώμενη σχέση αυξάνεται εκθετικά.

Παρακάτω επισυνάπτονται οι μέθοδοι δοκιμών και τα αρχεία δοκιμών της YuLimin.

Μέθοδος ελέγχου:Δοκιμή με την εντολή java -XmxXXXXM -version κάτω από τη γραμμή εντολώνκαι, στη συνέχεια, αυξήστε σταδιακά την τιμή του XXXX, εάν εκτελεστεί κανονικά, σημαίνει ότι το καθορισμένο μέγεθος μνήμης είναι διαθέσιμο, διαφορετικά θα εκτυπωθεί ένα μήνυμα σφάλματος.





Ελέγξτε τη μέγιστη υποστηριζόμενη μνήμη του JVM και, στη συνέχεια, ορίστε τις μεταβλητές περιβάλλοντος στο σύστημα

Όνομα μεταβλητής: _JAVA_OPTIONS
Τιμή: - Xmx1G






Προηγούμενος:Χρησιμοποιείται η προσθήκη πλήρους οθόνης jQuery "jQuery Fullscreen Plugin".
Επόμενος:Η διαφορά μεταξύ των πιστοποιητικών SSL, OV, DV και EV
 Σπιτονοικοκύρης| Δημοσιεύτηκε στις 14/8/2017 4:51:30 μ.μ. |
Έκδοση Java "1.8.0_144"
Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
Java HotSpot(TM) 64-Bit Server VM (δομή 25.144-b01, μεικτή λειτουργία)



Έκδοση Java "1.8.0_144" Λειτουργία διακομιστή 64-bit, μνήμη 80G, κανένα πρόβλημα

 Σπιτονοικοκύρης| Δημοσιεύτηκε στις 1/9/2020 10:29:04 μ.μ. |
Παράμετροι JVM Επιλογές
https://www.itsvse.com/thread-9369-1-1.html

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

Mail To:help@itsvse.com