Provided by: manpages-it_2.80-3_all bug

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’avvio */
              unsigned long loads[3];   /* Carico medio negli ultimi 15, 5, ed 1 minuto */
              unsigned long totalram;   /* Dimensione totale della memoria principale utilizzabile */
              unsigned long freeram;    /* Dimensione della memoria disponibile */
              unsigned long sharedram;  /* Quantità di memoria condivisa */
              unsigned long bufferram;  /* Memoria usata dai buffer */
              unsigned long totalswap;  /* Dimensione totale dello spazio di swap */
              unsigned long freeswap;   /* Spazio di swap ancora disponibile */
              unsigned short procs;     /* Numero di processi attuali */
              char _f[22];              /* Riempie una struttura a 64 byte */
         };

       e le dimensioni erano in byte.

       A  partire  da  Linux  2.3.23 (i386), 2.3.48 (tutte le architetture) la
       struttura è

         struct sysinfo {
              long uptime;             /* Secondi dall’avvio */
              unsigned long loads[3];  /* Carico medio negli ultimi 15, 5, ed 1 minuto */
              unsigned long totalram;  /* Dimensione totale della memoria principale utilizzabile */
              unsigned long freeram;   /* Dimensione della memoria disponibile */
              unsigned long sharedram; /* Quantità di memoria condivisa */
              unsigned long bufferram; /* Memoria usata dai buffer */
              unsigned long totalswap; /* Dimensione totale dello spazio di swap */
              unsigned long freeswap;  /* Spazio di swap ancora disponibile */
              unsigned short procs;    /* Numero di processi attuali */
              unsigned long totalhigh; /* Dimensione totale della memoria alta */
              unsigned long freehigh;  /* Dimensione della memoria alta libera */
              unsigned int mem_unit;   /* Dimensione in byte dell’unità di memoria */
              char _f[20-2*sizeof(long)-sizeof(int)]; /* Riempimento per libc5 */
         };

       e le dimensioni sono indicate come multipli di mem_unit byte.

       sysinfo() fornisce un modo semplice per ottenere statistiche globali di
       sistema.  Questo è più portabile che leggere /dev/kmem.

VALORI RESTITUITI

       In caso di successo viene restituito zero, altrimenti -1, e errno verrà
       impostato di conseguenza.

ERRORI

       EFAULT il puntatore alla struct sysinfo non è valido

CONFORME A

       Questa funzione è specifica di Linux, e non dovrebbe  essere  usata  in
       programmi che si vogliono portare su altre piattaforme.

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

VEDERE ANCHE

       proc(5)