sourCEntral - mobile manpages

pdf

SYSINFO

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)

pdf