2016-03-30 12 views
1

Ich bin dabei, JVM-Speicherauslastung für einzelne Knoten zu überwachen. Das Tool (JON 3.3) hat verschiedene Metriken wie anfängliche Heap/Non-Heap, festgeschriebene Heap/Non-Heap, verwendete Heap/Non-Heap, maximale Heap/Non-Heap-Verwendungen. Ich habe beschlossen, die Verwendung von Heap und festgeschriebenem Heap zu überwachen, um die Speicherleistung von JVM zu beobachten.Monitor Java-Heap-Verwendung

Ist es genug, die genannten Parameter zu beobachten, wenn nicht die anderen Parameter überwacht werden sollten, abgesehen von der verwendeten und festgeschriebenen Heap-Nutzung. Bitte beachten Sie dies.

enter image description here

Antwort

3
  • init

    stellt die anfängliche Menge an Speicher (in Bytes), dass die virtuelle Java-Maschine-Anforderungen vom Betriebssystem für die Speicherverwaltung bei der Inbetriebnahme. Die Java Virtual Machine kann zusätzlichen Speicher vom Betriebssystem anfordern und im Laufe der Zeit auch Speicher für das System freigeben. Der Wert von init ist möglicherweise nicht definiert.

  • used

    stellt die Menge des verwendeten Speichers zur Zeit (in Bytes).

  • committed

    stellt die Menge an Speicher (in Bytes), die von der Java Virtual Machine für verfügbar sein Einsatz gewährleistet ist. Die Menge des festgeschriebenen Speichers kann sich im Laufe der Zeit ändern (erhöhen oder verringern). Die Java Virtual Machine kann Speicher für das System freigeben und Committed könnte kleiner als Init sein. Committed wird immer größer oder gleich verwendet werden. max gibt die maximale Speichermenge (in Byte) an, die für die Speicherverwaltung verwendet werden kann. Ihr Wert ist möglicherweise nicht definiert. Die maximale Speichermenge kann sich im Laufe der Zeit ändern, wenn sie definiert ist. Die Menge an verwendetem und festgeschriebenem Speicher wird immer kleiner oder gleich Max sein, wenn max definiert ist. Eine Speicherzuweisung kann fehlschlagen, wenn sie versucht, den belegten Speicher so zu erhöhen, dass> committed verwendet wird, auch wenn < = max immer noch wahr ist (z. B. wenn das System zu wenig virtuellen Speicher hat). Im Folgenden ein Bild ist ein Beispiel für einen Speicherpool zeigt:

    +----------------------------------------------+ 
    +////////////////   |     + 
    +////////////////   |     + 
    +----------------------------------------------+ 
    
    |--------| 
        init 
    |---------------| 
         used 
    |---------------------------| 
          committed 
    |----------------------------------------------| 
    
  • Nicht-Heap-Speicher (~ Perm)

    Auch die JVM-Speicher außer dem Heap hat, bezeichnet als Nicht-Haufen Erinnerung. Es wird beim JVM-Startup erstellt und speichert Klassenstrukturen wie Laufzeitkonstantenpool-, Feld- und Methodendaten sowie den Code für Methoden und Konstruktoren sowie internierte Strings.