Der Provider vminfo stellt Prüfpunkte für die Felder unter der Bezeichnung vm in der Kernelstatistik bereit: Ein Prüfpunkt von vminfo wird ausgelöst, unmittelbar bevor der entsprechende vm-Wert erhöht wird. Das folgende Beispiel zeigt, wie mithilfe des Befehls kstat(1M) sowohl die Namen als auch die aktuellen Werte der mit vm bezeichneten Kernelstatistiken angezeigt werden können:
$ kstat -n vm module: cpu instance: 0 name: vm class: misc anonfree 13 anonpgin 2620 anonpgout 13 as_fault 12528831 cow_fault 2278711 crtime 202.10625712 dfree 1328740 execfree 0 execpgin 5541 ... |
Die vminfo-Prüfpunkte sind in Tabelle 24–1 beschrieben.
Tabelle 24–1 vminfo-Prüfpunkte
anonfree |
Prüfpunkt der ausgelöst wird, wenn eine unveränderte, anonyme Speicherseite im Rahmen einer Paging-Aktivität freigegeben wird. Bei anonymen Speicherseiten handelt es sich um Seiten, die keiner Datei zugeordnet sind. Speicher, die solche Seiten enthalten, sind der Heap-, der Stack- oder der Speicher, der durch explizite Zuordnung von zero(7D) erhalten wird. |
anonpgin |
Prüfpunkt, der ausgelöst wird, wenn eine anonyme Speicherseite aus einem Swap-Gerät eingelagert wird. |
anonpgout |
Prüfpunkt, der ausgelöst wird, wenn eine veränderte, anonyme Speicherseite an ein Swap-Gerät ausgelagert wird. |
as_fault |
Prüfpunkt, der ausgelöst wird, wenn ein Seitenfehler auftritt, bei dem es sich weder um einen Schutz- noch einen Copy-on-Write-Fehler handelt. |
cow_fault |
Prüfpunkt, der mit jedem Copy-on-Write-Fehler für eine Speicherseite ausgelöst wird. arg0 enthält die Anzahl der als Folge des Copy-on-Write-Vorgangs erzeugten Speicherseiten. |
dfree |
Prüfpunkt, der ausgelöst wird, wenn eine Speicherseite als Folge einer Paging-Aktivität freigegeben wird. Auf jede Auslösung von dfree folgt immer genau eine Auslösung von anonfree, execfree oder fsfree. |
execfree |
Prüfpunkt, der ausgelöst wird, wenn eine unveränderte, ausführbare Speicherseite als Folge einer Paging-Aktivität freigegeben wird. |
execpgin |
Prüfpunkt, der ausgelöst wird, wenn eine ausführbare Speicherseite aus einem Zusatzspeicher eingelagert wird. |
execpgout |
Prüfpunkt, der ausgelöst wird, wenn eine veränderte, ausführbare Speicherseite an einen Zusatzspeicher ausgelagert wird. Das Paging ausführbarer Seiten erfolgt meistens in der Form execfree. execpgout kann nur ausgeführt werden, wenn eine ausführbare Seite im Speicher modifiziert wird, was auf den meisten Systemen äußerst ungewöhnlich ist. |
fsfree |
Prüfpunkt der ausgelöst wird, wenn eine unveränderte Dateisystem-Datenseite im Rahmen einer Paging-Aktivität freigegeben wird. |
fspgin |
Prüfpunkt, der ausgelöst wird, wenn eine Dateisystemseite aus einem Zusatzspeicher eingelagert wird. |
fspgout |
Prüfpunkt, der ausgelöst wird, wenn eine veränderte Dateisystemseite an einen Zusatzspeicher ausgelagert wird. |
kernel_asflt |
Prüfpunkt, der mit jedem Seitenfehler im Adressraum des Kernels ausgelöst wird. Jeder Auslösung von kernel_asflt geht unmittelbar eine Auslösung des Prüfpunkts as_fault voraus. |
maj_fault |
Prüfpunkt, der ausgelöst wird, wenn ein Seitenfehler auftritt, der E/A von einem Zusatzspeicher oder Swap-Gerät zur Folge hat. Jeder Auslösung von maj_fault geht unmittelbar eine Auslösung des Prüfpunkts pgin voraus. |
pgfrec |
Prüfpunkt, der ausgelöst wird, wenn eine Seite aus der Liste der freien Seiten gefordert wird. |
pgin |
Prüfpunkt, der ausgelöst wird, wenn eine Seite aus dem Zusatzspeicher oder einem Swap-Gerät eingelagert wird. Dieser Prüfpunkt unterscheidet sich insofern von maj_fault, als maj_fault nur ausgelöst wird, wenn eine Seite als Folge eines Seitenfehlers eingelagert wird. pgin wird immer dann ausgelöst, wenn eine Seite eingelagert wird - egal aus welchem Grund. |
pgout |
Prüfpunkt, der ausgelöst wird, wenn eine Seite an den Zusatzspeicher oder ein Swap-Gerät ausgelagert wird. |
pgpgin |
Prüfpunkt, der ausgelöst wird, wenn eine Seite aus dem Zusatzspeicher oder einem Swap-Gerät eingelagert wird. Der einzige Unterschied zwischen pgpgin und pgin besteht darin, dass pgpgin die Anzahl der eingelagerten Seiten als arg0 enthält. pgin enthält in arg0 immer 1. |
pgpgout |
Prüfpunkt, der ausgelöst wird, wenn eine Seite an den Zusatzspeicher oder ein Swap-Gerät ausgelagert wird. Der einzige Unterschied zwischen pgpgout und pgout besteht darin, dass pgpgout die Anzahl der ausgelagerten Seiten als arg0 enthält. (pgout enthält in arg0 immer 1.) |
pgrec |
Prüfpunkt, der bei jeder Forderung einer Speicherseite ausgelöst wird. |
pgrrun |
Prüfpunkt, der immer dann ausgelöst wird, wenn der Pager eingeplant ist. |
pgswapin |
Prüfpunkt, der beim Einlagern von Seiten eines ausgelagerten Prozesses ausgelöst wird. arg0 enthält die Anzahl der eingelagerten Seiten. |
pgswapout |
Prüfpunkt, der ausgelöst wird, wenn mit dem Auslagern eines Prozesses Seiten ausgelagert werden. arg0 enthält die Anzahl der ausgelagerten Seiten. |
prot_fault |
Prüfpunkt, der ausgelöst wird, wenn ein Seitenfehler aufgrund einer Schutzverletzung auftritt. |
rev |
Prüfpunkt, der ausgelöst wird, wenn der Page-Dämon beginnt, alle Speicherseiten erneut zu durchlaufen. |
scan |
Prüfpunkt, der ausgelöst wird, wenn der Page-Dämon eine Speicherseite prüft. |
softlock |
Prüfpunkt, der ausgelöst wird, wenn ein Seitenfehler auftritt, weil diese Seite mit einer Softwaresperre belegt wurde. |
swapin |
Prüfpunkt, der ausgelöst wird, wenn ein ausgelagerter Prozess wieder eingelagert wird. |
swapout |
Prüfpunkt, der bei jeder Auslagerung eines Prozesses ausgelöst wird. |
zfod |
Prüfpunkt, der ausgelöst wird, wenn eine mit Nullen gefüllte Seite auf Anfrage erzeugt wird. |