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> 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.
chdev -l sys0 -a iostat=truelsattr -E -l sys0 -a iostatUne 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 :
struct vario var;
sys_parm(SYSP_GET,SYSP_V_IOSTRUN, &var);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.