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 indiquées 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 actuel.        */
    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 (libc5)*/
};

et les tailles sont indiquées sous forme de multiples de mem_unit octets. sysinfo() permet d'obtenir facilement des statistiques systèmes. C'est plus portable que la lecture de /dev/kmem.

VALEUR RENVOYÉE
S'il réussit, cet appel système renvoie 0. S'il échoue, il renvoie -1 et remplit errno en conséquence.

ERREURS

EFAULT
    Le pointeur vers struct sysinfo n'est pas valable

CONFORMITÉ
Cette fonction est spécifique à Linux et ne devrait 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
proc(5)

COLOPHON
Cette page fait partie de la publication 3.40 du projet man-pages Linux. Une description du projet et des instructions pour signaler des anomalies peuvent être trouvées à l'adresse <URL:http://www.kernel.org/doc/man-pages/>.

TRADUCTION
Depuis 2010, cette traduction est maintenue à l'aide de l'outil po4a <URL:http://po4a.alioth.debian.org/> par l'équipe de traduction francophone au sein du projet perkamon <URL:http://perkamon.alioth.debian.org/>.

Christophe Blaess <URL:http://www.blaess.fr/christophe/> (1996-2003), Alain Portal <URL:http://manpagesfr.free.fr/> (2003-2006). Julien Cristau et l'équipe francophone de traduction de Debian (2006-2009).

Veuillez signaler toute erreur de traduction en écrivant à <perkamon-fr@traduc.org>.

Vous pouvez toujours avoir accès à la version anglaise de ce document en utilisant la commande « LC_ALL=C man <section> <page_de_man> ».