SYSINFO(2)

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 tampons */
    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 tampons */
    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ées 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.

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 la verion 1.90.

VOIR AUSSI
proc(5)

TRADUCTION

Ce document est une traduction réalisée par Christophe Blaess <http://www.blaess.fr/christophe/> le 15 octobre 1996 et révisée le 23 décembre 2007.

L'équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. La version anglaise la plus à jour de ce document est toujours consultable via la commande : « LANG=C man 2 sysinfo ». N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.