SYSINFO

Section: Linux Programmer's Manual (2)
Updated: 15 novembre 2007
Index Return to Main Contents
 

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)


 

Index

NOME
SINTASSI
DESCRIZIONE
VALORI RESTITUITI
ERRORI
CONFORME A
VEDERE ANCHE

This document was created by man2html, using the manual pages.
Time: 23:03:51 GMT, June 17, 2008