sysinfo(2) zwraca informacje statystyczne dotyczące całego systemu

SKŁADNIA

#include <sys/sysinfo.h>

int sysinfo(struct sysinfo *info);

OPIS

Uwaga! To tłumaczenie może być nieaktualne!

Aż do Linuksa 2.3.16 sysinfo zwracało informacje w następującej strukturze:

struct sysinfo {
        long uptime;             /* ilość sekund od startu systemu */
        unsigned long loads[3];  /* średnie obciążenie w ciągu 1, 5 i 15min.*/
        unsigned long totalram;  /* ilość pamięci */
        unsigned long freeram;   /* ilość wolnej pamięci */
        unsigned long sharedram; /* ilość pamięci wspólnej */
        unsigned long bufferram; /* pamięć wykorzystywana przez bufory */
        unsigned long totalswap; /* ilość pamięci wymiany */
        unsigned long freeswap;  /* ilość wolnej pamięci wymiany */
        unsigned short procs;    /* ilość procesów */
        char _f[22];             /* dopełnienie do 64 bajtów */
};

i rozmiary były podawane w bajtach. Począwszy od Linuksa 2.3.23 (i386), 2.3.48 (wszystkie architektury) struktura ta ma postać

struct sysinfo {
        long uptime;             /* ilość sekund od startu systemu */
        unsigned long loads[3];  /* średnie obciążenie w ciągu 1, 5 i 15min.*/
        unsigned long totalram;  /* ilość pamięci */
        unsigned long freeram;   /* ilość wolnej pamięci */
        unsigned long sharedram; /* ilość pamięci wspólnej */
        unsigned long bufferram; /* pamięć wykorzystywana przez bufory */
        unsigned long totalswap; /* ilość pamięci wymiany */
        unsigned long freeswap;  /* ilość wolnej pamięci wymiany */
        unsigned short procs;    /* ilość procesów */
        unsigned long totalhigh; /* ilość pamięci wysokiej */
        unsigned long freehigh;  /* ilość wolnej pamięci wysokiej */
        unsigned int mem_unit;   /* wielkość jednostki pamięci w bajtach */
        char _f[20-2*sizeof(long)-sizeof(int)]; /* dopełnienie dla libc5 */
};

i rozmiary są podawane jako wielokrotności mem_unit bajtów.

sysinfo w prosty sposób udostępnia ogólnosystemowe statystyki. Metoda ta jest bardziej przenośna niż odczytywanie /dev/kmem. Przykład użycia można znaleźć w intro(2).

WARTOŚĆ ZWRACANA

W razie pomyślnego zakończenia zwracane jest zero. W przypadku błędu zwracane jest -1 i odpowiednio ustawiane errno.

BŁĘDY

EFAULT
wskaźnik do struct sysinfo jest nieprawidłowy

ZGODNE Z

Ta funkcja jest specyficzna dla Linuksa i nie powinna być wykorzystywana w programach, które mają być przenośne.

Jądro Linuksa dysponuje wywołaniem systemowym sysinfo od wersji 0.98.pl6. Linoksowa boblioteka libc zawiera funkcję sysinfo() od wersji 5.3.5, a glibc od 1.90.

ZOBACZ TAKŻĘ

proc(5)

INFORMACJE O TŁUMACZENIU

Powyższe tłumaczenie pochodzi z nieistniejącego już Projektu Tłumaczenia Manuali i może nie być aktualne. W razie zauważenia różnic między powyższym opisem a rzeczywistym zachowaniem opisywanego programu lub funkcji, prosimy o zapoznanie się z oryginalną (angielską) wersją strony podręcznika za pomocą polecenia:
man --locale=C 2 sysinfo

Prosimy o pomoc w aktualizacji stron man - więcej informacji można znaleźć pod adresem http://sourceforge.net/projects/manpages-pl/.