Service de noyau kvmgetinfo

Objectif

Extrait les informations VMM (Virtual Memory Manager).

Syntaxe

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

Descriptif

Le service de noyau Kvmgetinfo renvoie la valeur actuelle de certains paramètres VMM.

Paramètres

Article Descriptif
externe Indique l'adresse où les informations VMM doivent être renvoyées.
Commande

Indique quelles informations doivent être renvoyées. Les valeurs valides pour le paramètre Commande sont décalées ci-dessous:

VMINFO
Le contenu de la structure vminfo (décrit dans sys/vminfo.h) sera renvoyé. Le paramètre Sortie doit pointer vers une structure Vminfo et le paramètre Arg doit être la taille de cette structure. Les plus petits paramètres Arg ou Sizeof (Struct vminfo) seront copiés.
VMINFO_ABRIDGED
Le contenu de la structure vminfo (décrite dans le fichier sys/vminfo.h ) est renvoyé. Pour cette commande, seules les statistiques qui ne consomment pas de temps sont mises à jour, de sorte que cette commande doit être utilisée dans les applications critiques de performances plutôt que dans la commande VMINFO . Le paramètre Sortie doit pointer vers une structure Vminfo et le paramètre Arg doit être la taille de cette structure. Les plus petits paramètres Arg ou Sizeof (Struct vminfo) sont copiés.
INFO_PAGE_VM
La taille, en octets, de la page qui sauvegarde l'adresse spécifiée dans la zone addr de la structure vm_page_info (décrite dans le fichier sys/vminfo.h ) est renvoyée. Le paramètre Sortie doit pointer vers une structure Info vm_page_info avec la zone Adresse définie à l'adresse de votre choix pour interroger la taille de page. Cette adresse, Adresse, est interprétée comme une adresse dans l'espace adresse du processus en cours d'exécution. Le paramètre Arg doit être la taille de la structure Info vm_page_info .
IPC_LIMITS
Le contenu de la structure ipc_limits (décrite dans le fichier sys/vminfo.h ) est renvoyé. Le paramètre Sortie doit pointer vers une structure Ipc_limits et Arg doit être la taille de cette structure. Les plus petits paramètres Arg ou Sizeof (struct Ipc_limits) seront copiés. La structure Ipc_limits contient les limites de la communication inter-processus (IPC) pour le système.
VMINFO_GETPTAILLES
Indique les tailles de page prises en charge par un système. Lorsque Arg est égal à 0, le paramètre Sortie est ignoré et le nombre de pages prises en charge est renvoyé. Lorsque Arg est supérieur à 0, Arg indique le nombre de tailles de page à signaler, et Sortie doit être un pointeur vers un tableau avec le nombre Arg de types psize_t. Le tableau de types psize_t est mis à jour avec les tailles de page prises en charge par le système dans l'ordre trié commençant par la plus petite taille de page prise en charge. Le nombre d'entrées de tableau mises à jour avec les tailles de page est renvoyé.
TAPE_MIN
Indique des statistiques VMM détaillées pour une taille de page spécifiée. Le paramètre Sortie doit pointer vers une structure Psize vminfo_psize avec la zone Psize définie sur une taille de page, en octets, pour laquelle renvoyer des statistiques. Le paramètre Arg doit être la taille de la structure Psize vminfo_psize .
arg Paramètre supplémentaire qui dépend du paramètre Commande .

Environnement d'exécution

Le service de noyau Kvmgetinfo peut être appelé à partir de Environnement de processus uniquement.

Valeurs renvoyées

Les valeurs de retour suivantes s'appliquent à toutes les commandes autres que VMINFO_GETPTAILLES:

Article Descriptif
0 % Indique que l'exécution a réussi.
ENOSYS Indique que le paramètre Commande n'est pas valide (ou n'est pas encore implémenté).
EINVAL Lorsque VM_PAGE_INFO est la commande, la zone Adr de la structure Info vm_page_info est une adresse non valide.

Quand VMINFO_GETPSIZES est spécifié comme commande,-1 est retourné si le kvmgetinfo() le service du noyau échoue. Sinon, le service de noyau Kvmgetinfo () renvoie un certain nombre de tailles de page lorsque la commande VMINFO_GETPTAILLES est spécifiée.