SYSINFO(2)

NAZWA
sysinfo - 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/.