Wie erhalte ich programmgesteuert Stapelspeicher-Statistiken?

Ich schreibe ein einfaches Speicherberichtsdienstprogramm (in dieser speziellen Situation ist die Verwendung eines vorhandenen Tools keine Option). Ich muss das Maximum, das Commit und die Verwendung für alle Speicherpools ausgeben, die durch die Iteration von @ zurückgegeben wurdeManagementFactory.getMemoryPoolMXBeans(). Das bringt mir die drei Heap-Generationen des Heap-Speichers (eden, survivor und old), das Permgen und den "Code-Cache".

Keine davon scheint der Methodenstapelspeicher zu sein. Das nächste Ding scheint der "Code-Cache" zu sein, aber ich habe gelesen, dass der Hotspotter dort kompilierte Klassen platziert.

Ich frage, weil ich versuche, die Ursache eines Absturzes in einer JBoss-Webanwendung aufzuspüren, bei der kein neuer Thread erstellt werden kann.http: //www.mastertheboss.com/jboss-server/jboss-monitoring/how-to-solve-javalangoutofmoryerror-unable-to-create-new-native-threa deutet darauf hin, dass der Stapelspeicher knapp wird, was verständlicherweise der Fall ist. Die Frage ist: wie mache ichbekomme der Stapelspeicher, damit ich überprüfen kann?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage