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.
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.
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:
Die WSS wird kleiner.
Die Memory Cap wird angehoben.
Die Anwendung ändert das Speicherzugriffsmuster.
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.
Ein Page-Fault tritt immer dann auf, wenn entweder eine neue Page erstellt oder von einem Swap-Gerät eingelesen werden muss.
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).
Mit der Option -g für den Befehl rcapstat erstellen Sie Berichte zu Folgendem:
Die aktuelle Speicherauslastung als Prozentwert des im System installierten reellen Speichers
Der mit rcapadm eingerichtete Schwellenwert für die Durchsetzung einer Memory Cap
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% |