Sous-routine perfstat_diskadapter
Cette sous-routine n'est pas prise en charge dans une partition de charge de travail (WPAR). Il n'a pas connaissance d'une WPAR.
Objectif
Extrait les statistiques d'utilisation de chaque adaptateur de disque.
Bibliothèque
Bibliothèque Perfstat (libperfstat.a)
Syntaxe
#include <libperfstat.h>
int perfstat_diskadapter (name, userbuff, sizeof_struct, desired_number)
perfstat_id_t *name;
perfstat_diskadapter_t *userbuff;
size_t sizeof_struct;
int desired_number;Descriptif
La sous-routine perfstat_diskadapter extrait une ou plusieurs statistiques d'utilisation d'adaptateur de disque individuel. La même fonction peut être utilisée pour extraire le nombre d'ensembles de statistiques d'adaptateur disponibles.
Pour obtenir un ou plusieurs ensembles de métriques d'utilisation de l'adaptateur de disque, définissez le paramètre name sur le nom du premier adaptateur de disque pour lequel les statistiques sont souhaitées, puis définissez le paramètre desired_number . Pour démarrer à partir du premier adaptateur de disque, définissez le paramètre name sur "" ou FIRST_DISKADAPTER. Le paramètre userbuff doit pointer vers une zone de mémoire suffisamment grande pour contenir le nombre souhaité de structures perfstat_diskadapter_t qui seront copiées par cette fonction. A son retour, le paramètre name sera défini sur le nom de l'adaptateur de disque suivant ou sur "" si toutes les structures ont été copiées.
Pour extraire le nombre d'ensembles disponibles de métriques d'utilisation de l'adaptateur de disque, définissez les paramètres name et userbuff sur NULL et le paramètre desired_number sur 0. La valeur renvoyée sera le nombre d'ensembles disponibles.
La sous-routine perfstat_diskadapter 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/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-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 | Contient "", FIRST_DISKADAPTER ou un nom identifiant le premier adaptateur de disque pour lequel des statistiques sont souhaitées. Par exemple : |
| buff utilisateur | Pointe vers la zone de mémoire à remplir avec une ou plusieurs structures perfstat_diskadapter_t . |
| taille_struct | Indique la taille de la structure perfstat_diskadapter_t : sizeof(perfstat_diskadapter_t) |
| numéro_desired_ | Indique le nombre de structures perfstat_diskadapter_t à copier dans userbuff. |
Valeurs renvoyées
A moins que la fonction ne soit utilisée pour extraire le nombre de structures disponibles, le nombre de structures remplies est renvoyé lorsque l'opération aboutit. 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_diskadapter é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. |
| ENOMSG | Impossible d'accéder au dictionnaire. |
Fichiers
Le fichier libperfstat.h définit les macros standard, les types de données et les sous-routines.