kvmgetinfo-Kernel-Service

Zweck

Ruft VMM-Informationen (Virtual Memory Manager) ab.

Syntax

#include <sys/vminfo.h>
int kvmgetinfo ( void *out, int command, int arg)

Beschreibung

Der Methode 'kvmgetinfo' -Kernel-Service gibt den aktuellen Wert bestimmter VMM-Parameter zurück.

Parameter

Element Beschreibung
OUT Gibt die Adresse an, an die VMM-Informationen zurückgegeben werden sollen
Befehl

Gibt an, welche Informationen zurückgegeben werden sollen Die gültigen Werte für den Parameter Befehl sind im Folgenden beschrieben:

VMINFO
Der Inhalt der vminfo -Struktur (beschrieben in sys/vminfo.h) wird zurückgegeben. Der Parameter Aus sollte auf eine Vminfo -Struktur verweisen und der Parameter Arg sollte die Größe dieser Struktur haben. Der kleinere der Parameter Arg oder Größeof (Struktur 'vminfo') wird kopiert.
VMINFO_ABGEKÜRZT
Der Inhalt der Struktur vminfo (beschrieben in der Datei sys/vminfo.h ) wird zurückgegeben. Für diesen Befehl werden nur die nicht zeitaufwändigen Statistikdaten aktualisiert. Daher muss dieser Befehl in leistungskritischen Anwendungen und nicht im Befehl VMINFO verwendet werden. Der Parameter Aus muss auf eine Vminfo -Struktur verweisen und der Parameter Arg muss die Größe dieser Struktur haben. Der kleinere der Parameter Arg oder Größeof (Struktur 'vminfo') wird kopiert.
VM_PAGE_INFO
Die Größe der Seite in Byte, die die im Feld addr der Struktur vm_page_info angegebene Adresse unterstützt (in der Datei sys/vminfo.h beschrieben), wird zurückgegeben. Der Parameter Aus sollte auf eine vm_page_info -Struktur verweisen, bei der das Feld Adresse auf die gewünschte Adresse gesetzt ist, deren Seitengröße abgefragt werden soll. Diese Adresse Adressewird als Adresse im Adressraum des momentan ausgeführten Prozesses interpretiert. Der Parameter Arg muss die Größe der vm_page_info -Struktur sein.
IPC_LIMITS
Der Inhalt der Struktur ipc_limits (beschrieben in der Datei sys/vminfo.h ) wird zurückgegeben. Der Parameter Aus sollte auf eine IP-Grenzwerte -Struktur verweisen und Arg sollte die Größe dieser Struktur haben. Der kleinere der Parameter Arg oder Größeof (struct IP-Grenzwerte) wird kopiert. Die Struktur IP-Grenzwerte enthält die Grenzwerte für die Interprozesskommunikation (IPC) für das System.
VMINFO_GETPGRÖSSEN
Dokumentiert die unterstützten Seitengrößen eines Systems. Wenn Arg auf 0 gesetzt ist, wird der Parameter Aus ignoriert und die Anzahl der unterstützten Seitengrößen zurückgegeben. Wenn Arg größer als 0 ist, gibt Arg die Anzahl der zu berichtenden Seitengrößen an und Aus muss ein Zeiger auf ein Array mit Arg Anzahl der psize_t-Typen sein. Das Array der psize_t-Typen wird mit den unterstützten Seitengrößen des Systems in sortierter Reihenfolge ab der kleinsten unterstützten Seitengröße aktualisiert. Die Anzahl der mit Seitengrößen aktualisierten Array-Einträge wird zurückgegeben.
VMINFO_P-GRÖSSE
Dokumentiert detaillierte VMM-Statistiken für eine angegebene Seitengröße. Der Parameter Aus muss auf eine Wert für 'vminfo_psize' -Struktur verweisen, deren Feld PSize auf eine Seitengröße in Byte gesetzt ist, für die Statistikdaten zurückgegeben werden sollen. Der Parameter Arg muss die Größe der Wert für 'vminfo_psize' -Struktur sein.
arg Ein zusätzlicher Parameter, der vom Parameter Befehl abhängig ist

Ausführungsumgebung

Der Kernel-Service Methode 'kvmgetinfo' kann nur über Prozessumgebung aufgerufen werden.

Rückgabewerte

Die folgenden Rückgabewerte gelten für alle Befehle außer VMINFO_GETPGRÖSSEN:

Element Beschreibung
0 Erfolgreiche Ausführung.
ENOSYS Gibt an, dass der Parameter Befehl nicht gültig (oder noch nicht implementiert) ist.
EINVAL Wenn VM_PAGE_INFO der Befehl ist, ist das Feld Adr der Struktur vm_page_info eine ungültige Adresse.

Wann VMINFO_GETPSIZES wird als Befehl angegeben,-1 wird zurückgegeben, wenn der kvmgetinfo() Der Kernel-Dienst ist nicht erfolgreich. Andernfalls gibt der kvmgetinfo () -Kernel-Service eine Reihe von Seitengrößen zurück, wenn der Befehl VMINFO_GETPGRÖSSEN angegeben wird.