man sysinfo (Appels systèmes) - Obtenir des informations statistiques sur le système.

NOM

sysinfo - Obtenir des informations statistiques sur le système.

SYNOPSIS

#include <sys/sysinfo.h> int sysinfo(struct sysinfo *info);

DESCRIPTION

Jusqu'au noyau 2.3.16, sysinfo renvoyait les informations dans la structure suivante :

struct sysinfo {
  long uptime;             /* Secondes écoulées depuis le boot.*/
  unsigned long loads[3];  /* Charges depuis 1, 5, et 15 mn.   */
  unsigned long totalram;  /* Mémoire totale du système.       */
  unsigned long freeram;   /* Mémoire disponible.              */
  unsigned long sharedram; /* Mémoire partagée.                */
  unsigned long bufferram; /* Mémoire utilisée par les buffers */
  unsigned long totalswap; /* Taille totale du swap.           */
  unsigned long freeswap;  /* Espace disponible dans le swap.  */
  unsigned short procs;    /* Nombre de processus actuels.     */
  char          _f[22];    /* Remplissage jusqu'à 64 octets.   */
};

et les tailles étaient fournies en octets. Depuis le noyau 2.3.23 (i386) et 2.3.48 (toutes architectures), la structure est devenue :

struct sysinfo {
  long uptime;             /* Secondes écoulées depuis le boot.*/
  unsigned long loads[3];  /* Charges depuis 1, 5, et 15 mn.   */
  unsigned long totalram;  /* Mémoire totale du système.       */
  unsigned long freeram;   /* Mémoire disponible.              */
  unsigned long sharedram; /* Mémoire partagée.                */
  unsigned long bufferram; /* Mémoire utilisée par les buffers */
  unsigned long totalswap; /* Taille totale du swap.           */
  unsigned long freeswap;  /* Espace disponible dans le swap.  */
  unsigned short procs;    /* Nombre de processus actuels.     */
  unsigned long totalhigh; /* Taille totale mémoire haute.     */
  unsigned long freehigh;  /* Taille mémoire haute libre.      */
  usigned int   mem_unit;  /* Taille de bloc mémoire en octets */
  char _f [20 - 2*sizeof(long) - sizeof(int)];  /* remplissage */
};

et les tailles sont indiqués sous forme de multiples de mem_unit.

sysinfo permet d'obtenir facilement des statistiques systèmes. C'est plus portable que la lecture de /dev/kmem. Pour avoir un exemple d'utilisation, reportez-vous à intro(2).

VALEUR RENVOYÉE

sysinfo renvoie 0 s'il réussit et -1 s'il échoue auquel cas errno contient le code d'erreur.

ERREURS

EFAULT
struct sysinfo pointe en dehors de l'espace d'adressage accessible.

CONFORMITÉ

Cette fonction est spécifique Linux et ne doit pas être employée dans des programmes destinés à être portables. Le noyau Linux dispose d'un appel-système sysinfo depuis la version 0.98pl6. La bibliothèque libc de Linux contient une routine sysinfo() depuis la version 5.3.5, et la bibliothèque glibc depuis 1.90.

VOIR AUSSI

TRADUCTION

Christophe Blaess, 1996-2003.