Wie kann ein Java-Prozess mit -Xmx1024m besetzen 3GB Residenten Speicher?

Es ist eine Java web Anwendung auf Websphere6.1, Solaris 10, JDK 1.5.0_13. Setzen wir die maximale heap-Größe zum 1024m. jmap zeigt die heap-status ist gesund. Der heap-Speicher Nutzung ist nur 57%. Kein OutOfMemory überhaupt.

Aber wir sahen sehr hoher RSS (3GB) für das java-Prozess, der aus ps. pmap zeigt einen block von 1,9 G (privater Speicher).

3785: /dmwdkpmmkg/war/610/java/bin/java -server -Dwas.status.socket=65370 -X 
Address Kbytes RSS Anon Gesperrt Pgsz Mode Mapped-Datei 
... 
0020A000 2008 2008 2008 - 8K rwx-- [ heap ] 
00400000 1957888 1957888 1957888 - 4M-rwx-- [ heap ] 
8D076000 40 40 40 - 8K rw--R [ stack tid=10786 ] 
... 

Ist es ein C-heap-Speicher-Leck in der native code? Welche Vorgehensweise ist empfohlen, um herauszufinden, die Ursache?

InformationsquelleAutor gengmao | 2009-03-26
Schreibe einen Kommentar