Linux |
CentOS 4.8 |
|
![]() |
sysinfo(2) |
![]() |
|
sysinfo − Obtenir des informations statistiques sur le système. |
|
#include <sys/sysinfo.h> int sysinfo(struct sysinfo *info); |
|
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). |
|
sysinfo renvoie 0 s’il réussit et −1 s’il échoue auquel cas errno contient le code d’erreur. |
|
EFAULT |
struct sysinfo pointe en dehors de l’espace d’adressage accessible. |
|
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. |
|
proc(5) |
|
Christophe Blaess, 1997. |
![]() |
sysinfo(2) | ![]() |