2016-06-07 10 views
0

the memory displayed by linux top commandDie Erinnerung an Linux-Top-Befehl und die jconsole Heap-Nutzung ist so anders

the heap usage of the same jvm


Die Speichernutzung des gleichen Programms von ihnen angezeigt, so unterschiedlich sind. Gibt es etwas anderes kosten die Erinnerung?

+1

Der Heap ist nur eine Speicherregion in der JVM, und nur weil 50% der maximalen Heapgröße verwendet werden, bedeutet dies nicht, dass die anderen 50% für das Betriebssystem freigegeben wurden. Es scheint, dass Ihre maximale Heaps 3,0 GB und Sie haben etwa 0,4 GB in Shared Libraries, Thread-Stack usw., d. H. Es sieht normal für mich. –

Antwort

1

Die Speicherauslastung des gleichen Programms, das von ihnen angezeigt wird, sind so unterschiedlich. Gibt es etwas anderes, das die Erinnerung kostet?

Ja. Java ordnet seinen Speicher in großen Blöcken zu und verwaltet diese Blöcke intern (als ein einzelner Prozess). Der Befehl linux top sieht nur die JVM als Ganzes (nicht die interne Speicherbelegung). Verwenden Sie dazu jconsole; was zeigt, wie viel Speicher verfügbar ist (innerhalb der JVM).

1

Nebenbei können Sie auch die gesamte Speicherbelegung des JVM OS-Prozesses vom OperatingSystemMXBean abrufen.