Από προεπιλογή το heap dump δημιουργείται σε ένα αρχείο που ονομάζεται java_pidpid. hprof στον κατάλογο εργασίας του VM, όπως στο παραπάνω παράδειγμα. Μπορείτε να καθορίσετε ένα εναλλακτικό όνομα αρχείου ή κατάλογο με την επιλογή -XX:HeapDumpPath=.
Πού βρίσκεται το αρχείο dump;
Η τοποθεσία ποικίλλει ανάλογα με το περιβάλλον, αλλά συνήθως αυτά τα αρχεία εμφανίζονται είτε σε: C:\Windows\System32. ή C:\Windows\SysWOW64.
Πότε δημιουργείται η ένδειξη σωρού;
Ξεκινώντας με την έκδοση 20180917, όταν παρουσιαστεί σφάλμα εκτός μνήμης, δημιουργείται αυτόματα μια ένδειξη μνήμης σωρού (Η παράμετρος -XX:+ HeapDumpOnOutOfMemoryError προστίθεται στη διαμόρφωση του αρχείου /jvm.
Πώς μπορώ να αποκτήσω ένα heap dump στο Linux;
Για μηχανή Linux μπορείτε να χρησιμοποιήσετε ποικιλίες εντολών όπως ps -A | grep java ή netstat -tupln | grep java ή top | grep java, εξαρτάται από την εφαρμογή σας. Στη συνέχεια, μπορείτε να χρησιμοποιήσετε την εντολή όπως jmap -dump:format=b, file=sample_heap_dump. hprof 1234 όπου το 1234 είναι PID.
Πώς λαμβάνετε heap dump στο Outofmemoryerror;
Για να βεβαιωθείτε ότι δημιουργείται μια ένδειξη σωρού στο OOM για ευκρίνεια:
- Σύνδεση με CSA (ή ανοιχτές ιδιότητες. xml για κάθε διακομιστή σε σύμπλεγμα):
- Προσθέστε την ακόλουθη συμβολοσειρά ορίσματος στην υπηρεσία εφαρμογής ή/και στις παραμέτρους της υπηρεσίας bg JVM: -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=\. hprof.
- Επανεκκινήστε τις υπηρεσίες.