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
VERSIONI
Il Kernel Linux ha una chiamata di sistema sysinfo() dalla versione 0.98.pl6.CONFORME A
Questa funzione è specifica di Linux, e non dovrebbe essere usata in programmi che si vogliono portare su altre piattaforme.COLOPHON
Questa pagina fa parte del rilascio 3.73 del progetto Linux man-pages. Una descrizione del progetto, le istruzioni per la segnalazione degli errori, e l'ultima versione di questa pagina si trova su http://www.kernel.org/doc/man-pages/.
La versione italiana fa parte del pacchetto
man-pages-it
v. 3.73, a cura di:
ILDP "Italian Linux Documentation Project"
http://www.pluto.it/ildp
Per la traduzione in italiano si può fare riferimento a
http://www.pluto.it/ildp/collaborare/
Segnalare eventuali errori di traduzione a
[email protected]