Sous-routine perfstat_disk_total

Objectif

Extrait les statistiques globales d'utilisation du disque.

Bibliothèque

Bibliothèque Perfstat (libperfstat.a)

Syntaxe

#include <libperfstat.h>
int perfstat_disk_total (name, userbuff, sizeof_struct, desired_number)
perfstat_id_t *name;
perfstat_disk_total_t *userbuff;
size_t sizeof_struct;
int desired_number;

Descriptif

La sous-routine perfstat_disk_total renvoie les statistiques globales d'utilisation du disque dans une structure perfstat_disk_total_t .

Pour obtenir des statistiques globales sur l'ensemble du système, le paramètre name doit être défini sur NULL, le paramètre userbuff doit être alloué et le paramètre desired_number doit être défini sur 1.

La sous-routine perfstat_disk_total extrait des informations de la base de données ODM . Ces informations sont automatiquement mises en cache dans un dictionnaire qui est supposé être gelé une fois chargé. La sous-routine perfstat_reset doit être appelée pour vider le dictionnaire chaque fois que la configuration de la machine a été modifiée.

Pour améliorer les performances du système, la collecte des statistiques d'entrée et de sortie des disques est désactivée par défaut dans les versions actuelles d'AIX.

Pour activer la collecte de ces données, exécutez:
chdev -l sys0 -a iostat=true
Pour afficher le paramètre en cours, exécutez:
lsattr -E -l sys0 -a iostat

Une autre façon d'activer la collecte des statistiques d'entrée et de sortie du disque consiste à utiliser l'API sys_parm et l'indicateur SYSP_V_IOSTRUN :

Pour obtenir le statut en cours de l'indicateur, exécutez la commande suivante:
struct vario var;
sys_parm(SYSP_GET,SYSP_V_IOSTRUN, &var);
Pour définir l'indicateur, exécutez la commande suivante:
struct vario var;
var.v.v_iostrun.value=1; /* 1 to set & 0 to unset */
sys_parm(SYSP_SET,SYSP_V_IOSTRUN, &var);

Paramètres

Article Descriptif
nom Doit être défini sur NULL.
buff utilisateur Pointe vers la zone de mémoire qui doit être remplie avec une ou plusieurs structures perfstat_disk_total_t .
taille_struct Indique la taille de la structure perfstat_disk_total_t : sizeof(perfstat_disk_total_t)
numéro_desired_ La valeur doit être 1.

Valeurs renvoyées

Une fois l'opération terminée, le nombre de structures pouvant être remplies est renvoyé. C'est toujours 1. En cas d'échec, la valeur -1 est renvoyée et la variable globale errno est définie.

Codes d'erreur

La sous-routine perfstat_disk_total échoue si l'une des conditions suivantes est vérifiée:

Article Descriptif
EINVAL L'un des paramètres n'est pas valide.
EFAULT Mémoire insuffisante.
ENOMEM La longueur par défaut de la chaîne est trop courte.

Fichiers

Le fichier libperfstat.h définit les macros standard, les types de données et les sous-routines.