Systemverwaltungshandbuch: Oracle Solaris Container - Ressourcenverwaltung und Solaris Zones

Erstellen von Berichten mit rcapstat

Mit dem Befehl rcapstat erstellen Sie Berichte zu den Resource Capping-Statistiken. Überwachen der Ressourcenauslastung mit rcapstat beschreibt, wie Sie den Befehl rcapstat zum Erstellen von Berichten verwenden. Dieser Abschnitt enthält darüber hinaus Beschreibungen der Spaltenüberschriften in einem Bericht. Diese Informationen finden Sie auch in der Manpage rcapstat(1).

Die folgenden Unterabschnitte enthaltenen Beispiele, mit denen das Erstellen eines Berichts für einen bestimmten Zweck verdeutlicht wird.

Erstellen von Berichten mit Memory Cap- und Projektinformationen

In diesem Beispiel werden Memory Caps für zwei Projekte definiert, die zwei verschiedenen Benutzern zugeordnet sind. user1 hat eine Memory Cap von 50 MB, user2 eine Memory Cap von 10 MB.

Der folgende Befehl erzeugt fünf Berichte in einem Messintervall von 5 Sekunden.


user1machine% rcapstat 5 5
    id project  nproc     vm    rss   cap    at avgat    pg avgpg
112270   user1     24   123M    35M   50M   50M    0K 3312K    0K
 78194   user2      1  2368K  1856K   10M    0K    0K    0K    0K
    id project  nproc     vm    rss   cap    at avgat    pg avgpg
112270   user1     24   123M    35M   50M    0K    0K    0K    0K
 78194   user2      1  2368K  1856K   10M    0K    0K    0K    0K
    id project  nproc     vm    rss   cap    at avgat    pg avgpg
112270   user1     24   123M    35M   50M    0K    0K    0K    0K
 78194   user2      1  2368K  1928K   10M    0K    0K    0K    0K
    id project  nproc     vm    rss   cap    at avgat    pg avgpg
112270   user1     24   123M    35M   50M    0K    0K    0K    0K
 78194   user2      1  2368K  1928K   10M    0K    0K    0K    0K
    id project  nproc     vm    rss   cap    at avgat    pg avgpg
112270   user1     24   123M    35M   50M    0K    0K    0K    0K
 78194   user2      1  2368K  1928K   10M    0K    0K    0K    0K 

Die ersten drei Zeilen dieser Ausgabe bilden den ersten Bericht, der Memory Cap- und Projekt-Informationen für die zwei Projekte sowie Paging-Statistiken ab dem Start von rcapd enthält. Die Spalten at und pg enthalten Werte größer Null für user1 und Null für user2. Dies deutet darauf hin, dass user1 seinen Grenzwert für einen bestimmten Zeitraum im Verlauf des Daemons überschritten hat, user2 jedoch nicht.

Die nachfolgenden Berichte zeigen keine wichtige Aktivität.

Überwachen der RSS eines Projekts

Das folgende Beispiel zeigt das Projekt user1, in dem eine RSS über der zugehörigen RSS-Memory Cap vorliegt.

Der folgende Befehl erzeugt fünf Berichte in einem Messintervall von 5 Sekunden.


user1machine% rcapstat 5 5

    id project  nproc    vm   rss   cap    at avgat     pg  avgpg
376565   user1      3 6249M 6144M 6144M  690M  220M  5528K  2764K
376565   user1      3 6249M 6144M 6144M    0M  131M  4912K  1637K
376565   user1      3 6249M 6171M 6144M   27M  147M  6048K  2016K
376565   user1      3 6249M 6146M 6144M 4872M  174M  4368K  1456K
376565   user1      3 6249M 6156M 6144M   12M  161M  3376K  1125K

Das Projekt user1 hat drei Prozesse, die aktiv reellen Speicher nutzen. Die positiven Werte in der Spalte pg weisen daraufhin, dass der rcapd ständig Speicher auslagert, während er versucht, die Memory Cap einzuhalten, indem die Speicherauslastung durch Projektprozesse gesenkt wird. rcapd ist jedoch nicht in der Lage, die RSS unter dem Memory Cap-Wert zu halten. Dies wird durch die wechselnden rss-Werte verdeutlicht, die keine entsprechende Reduzierung zeigen. Sobald Speicher ausgelagert wird, nutzt die Arbeitslast den Speicher neu und der RSS-Wert steigt wieder an. Dies bedeutet, dass der gesamte residente Speicher des Projekts aktiv genutzt wird und die Working Set-Größe (WSS) größer als die Memory Cap ist. Aus diesem Grund ist der rcapd gezwungen, einen Teil des Working Sets auszulagern, um die Memory Cap einzuhalten. In diesem Zustand treten weiterhin zahlreiche Page-Faults und somit erhöhtes E/A auf, bis eines der Folgenden eintritt:

In dieser Situation könnte ein kürzeres Messintervall die Diskrepanz zwischen dem RSS- und dem Cap-Wert reduzieren, da der rcapd gezwungen wäre, die Arbeitslast häufiger zu messen und Memory Caps häufiger durchzusetzen.


Hinweis –

Ein Page-Fault tritt immer dann auf, wenn entweder eine neue Page erstellt oder von einem Swap-Gerät eingelesen werden muss.


Festlegen der Working Set-Größe eines Projekts

Das folgende Beispiel schließt an das vorherige Beispiel an und verwendet das gleiche Projekt.

Das vorherige Beispiel zeigt, dass das Projekt user1 mehr reellen Speicher nutzt als seine Memory Cap gestattet. Dieses Beispiel zeigt, wie viel Speicher die Projekt-Arbeitslast benötigt.


user1machine% rcapstat 5 5
    id project  nproc    vm   rss   cap    at avgat     pg  avgpg
376565   user1      3 6249M 6144M 6144M  690M    0K   689M     0K
376565   user1      3 6249M 6144M 6144M    0K    0K     0K     0K
376565   user1      3 6249M 6171M 6144M   27M    0K    27M     0K
376565   user1      3 6249M 6146M 6144M 4872K    0K  4816K     0K
376565   user1      3 6249M 6156M 6144M   12M    0K    12M     0K
376565   user1      3 6249M 6150M 6144M 5848K    0K  5816K     0K
376565   user1      3 6249M 6155M 6144M   11M    0K    11M     0K
376565   user1      3 6249M 6150M   10G   32K    0K    32K     0K
376565   user1      3 6249M 6214M   10G    0K    0K     0K     0K
376565   user1      3 6249M 6247M   10G    0K    0K     0K     0K
376565   user1      3 6249M 6247M   10G    0K    0K     0K     0K
376565   user1      3 6249M 6247M   10G    0K    0K     0K     0K
376565   user1      3 6249M 6247M   10G    0K    0K     0K     0K
376565   user1      3 6249M 6247M   10G    0K    0K     0K     0K
376565   user1      3 6249M 6247M   10G    0K    0K     0K     0K

Inmitten des Zyklus wurde die Memory Cap des Projekts user1 von 6 GB auf 10 GB erhöht. Dieser Anstieg stoppt die Durchsetzung der Memory Cap und gestattet ein Anwachsen der Resident Set-Größe, begrenzt nur durch andere Prozesse und der Größe des reellen Speichers in dem Computer. Die Spalte rss könnte sich stabilisieren, um die Working Set-Größe (WSS) des Projekts widerzuspiegeln, in diesem Beispiel 6247M. Dies ist der geringste Memory Cap-Wert, der eine Ausführung der Projektprozesse ohne ständig auftretende Page-Faults gestattet.

Während die Memory Cap für user1 bei 6 s liegt, sinkt die RSS bei einem 5-Sekunden-Messintervall. E/A steigt an, während der rcapd Speicher der Arbeitslast auslagert. Kurz nach Abschluss des Auslagerns werden die Pages von der Arbeitslast, die diese Pages benötigt, wieder eingelesen. Dieser Zyklus wiederholt sich, bis die Memory Cap auf 10 GB angestiegen ist, etwa in der Mitte des Beispiels. Dann stabilisiert sich die RSS bei 6,1 GB. Da die RSS jetzt unter der Memory Cap liegt, tritt kein weiteres Paging mehr auf. Die aufgrund des Pagings auftretenden E/A-Vorgänge stoppen ebenfalls. Somit benötigt das Projekt 6,1 GB zur Ausführung der im Überwachungszeitraum angefallenen Arbeiten.

Lesen Sie hierzu auch die Manpages vmstat(1M) und iostat(1M).

Erstellen von Berichten zur Speicherauslastung und dem Schwellenwert für die Durchsetzung der Memory Cap

Mit der Option -g für den Befehl rcapstat erstellen Sie Berichte zu Folgendem:

Mit der Option -g wird am Ende des Berichts für jedes Intervall eine Zeile zur Speicherauslastung und Memory Cap-Durchsetzung gedruckt.


# rcapstat -g
    id project   nproc    vm   rss   cap    at avgat   pg  avgpg
376565    rcap       0    0K    0K   10G    0K    0K   0K     0K
physical memory utilization: 55%   cap enforcement threshold: 0%
    id project   nproc    vm   rss   cap    at avgat   pg  avgpg
376565    rcap       0    0K    0K   10G    0K    0K   0K     0K
physical memory utilization: 55%   cap enforcement threshold: 0%