Ich versuche herauszufinden, wo mein Speicher für einen Java-Prozess in Linux ausgeführt wurde. Jemand schlug vor, pmaap -x zu verwenden, um genau zu sehen, was der Speicher macht.Versuchen, ein Leck zu finden! Was bedeutet Anonym für Pmap?
Der Ausgang ist wirklich lang, aber im Grunde ein guter Teil davon ist eine Wiederholung dieses:
00007fbf75f6a000 1016 - - - rwx-- [ anon ]
00007fbf76068000 12 - - - ----- [ anon ]
Was genau bedeutet das? Warum habe ich so viele Einträge davon (4000+)?
> Warum verwenden Sie pmap, um ein Java-Speicherproblem zu diagnostizieren? Wir haben einen Java-Prozess mit Heap auf maximal 256 MB, aber es ist RSS-Speicher ist 8.9GB. Mit welchem anderen Werkzeug können wir das diagnostizieren? – Opher
@Opher - sicher, macht Sinn für Sie. Aber bist du der OP? (Und wenn ja, warum kommst du 8 Jahre später dazu?). Von der ursprünglichen Frage war nicht klar, ob das OP wusste, wonach es suchte. – kdgregory
Und als Vorschlag: Wenn Sie eine solche Diskrepanz zwischen konfigurierter Heap-Größe und RSS sehen, suchen Sie nach Memory-Mapped-Dateien oder direkten Puffern. Ein solches Verhalten wird beispielsweise von einem Kafka- oder SOLR-Server angezeigt, und das ist normal. – kdgregory