sysinfo(2) System Calls Manual sysinfo(2)

sysinfo - restituisce informazioni di sistema

Standard C library (libc, -lc)

#include <sys/sysinfo.h>
int sysinfo(struct sysinfo *info);

sysinfo() restituisce alcune statistiche sull'uso della momoria e della swap, e anche sul carico medio.

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 */
};

Nella struttura appena vista, le dimensioni della momoria e dei campi swap sono in byte.

A partire da Linux 2.3.23 (i386) e Linux 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 a 64 byte */
};

Nella struttura di cui sopra le dimensioni della momoria e dei campi della swap sono indicate come multipli di mem_unit byte.

In caso di successo sysinfo() restituisce zero. In caso di errore viene restituito -1, e errno verrà impostato per indicare l'errore.

info non è un indirizzo valido.

Linux.

Linux 0.98.pl6.

Tutte le informazioni fornite da questa chiamata di sistema sono disponibili anche attraverso /proc/meminfo e /proc/loadavg.

proc(5)

La traduzione italiana di questa pagina di manuale è stata creata da Goffredo Baroncelli <kreijack@usa.net>, Giulio Daprelà <giulio@pluto.it>, Elisabetta Galli <lab@kkk.it> e Marco Curreli <marcocurreli@tiscali.it>

Questa traduzione è documentazione libera; leggere la GNU General Public License Versione 3 o successiva per le condizioni di copyright. Non ci assumiamo alcuna responsabilità.

Per segnalare errori nella traduzione di questa pagina di manuale inviare un messaggio a pluto-ildp@lists.pluto.it.

31 ottobre 2023 Linux man-pages 6.06