SYSINFO(2)

NOME
sysinfo - restituisce informazioni sulle statististiche di sistema globali

SINTASSI
#include <sys/sysinfo.h>

int sysinfo(struct sysinfo *info);

DESCRIZIONE
Fino a Linux 2.3.16, sysinfo() restituiva informazioni nella seguente struttura:
    struct sysinfo {
    	long uptime;              /* Secondi dall'ultimo boot */
    	unsigned long loads[3];   /* Carico medio negli ultimi  */
    	                          /* 15, 5, ed 1 minuto/i */
    	unsigned long totalram;   /* Memoria totale utilizzabile */
    	unsigned long freeram;    /* Memoria disponibile */
    	unsigned long sharedram;  /* Memoria condivisa */
    	unsigned long bufferram;  /* Memoria usata dai buffer */
    	unsigned long totalswap;  /* Spazio totale di swap */
    	unsigned long freeswap;   /* Spazio di swap ancora disponibile */
    	unsigned short procs;     /* Numero di processi attivi */
    	char _f[22];              /* Pad, per arrivare ad una */
    	                          /* struttura di 64 byte */
    };
e le dimensioni erano date in byte. A partire da Linux 2.3.23 (i386), 2.3.48 (tutte le architetture) la struttura č
    struct sysinfo {
    	long uptime;             /* Secondi dall'ultimo boot */
    	unsigned long loads[3];  /* Carico medio negli ultimi  */
    	                         /* 15, 5, ed 1 minuto/i */
    	unsigned long totalram;  /* Memoria totale utilizzabile */
    	unsigned long freeram;   /* Memoria disponibile */
    	unsigned long sharedram; /* Memoria condivisa */
    	unsigned long bufferram; /* Memoria usata dai buffer */
    	unsigned long totalswap; /* Spazio totale di swap */
    	unsigned long freeswap;  /* Spazio di swap ancora disponibile */
    	unsigned short procs;    /* Numero di processi attivi */
    	unsigned long totalhigh; /* Memoria alta totale */
    	unsigned long freehigh;  /* Memoria alta libera */
    	unsigned int mem_unit;   /* Dimensione in bytes dell'unitą di memoria */
    	char _f[20-2*sizeof(long)-sizeof(int)]; /* Riempimento per libc5 */
    };
e le dimensioni sono date comem multipli di mem_unit byte. sysinfo() fornisce un modo semplice di ottenere statistiche globali di sistema. Questo č pił portabile che leggere /dev/kmem. Per un esempio del suo uso vedere intro(2).

VALORI RESTITUITI
In caso di successo viene restituito zero, altrimenti -1, e errno contiene il codice di errore.

ERRORI

EFAULT
    il puntatore alla struct sysinfo non č valido

CONFORMING TO
Questa funzione č specifica di Linux, e non č quindi portabile.

Il kernel Linux ha una chiamata di sistema sysinfo() a partire da 0.98.pl6. Linux libc contiene uan routine sysinfo() a partire da 5.3.5, e glibc ne ha una da 1.90.

VEDERE ANCHE
proc(5)