sysinfo(2)

NAZWA
sysinfo - zwraca informacje dotyczące systemu

BIBLIOTEKA
Standardowa biblioteka C (libc, -lc)

SKŁADNIA
#include <sys/sysinfo.h>

int sysinfo(struct sysinfo *info);

OPIS
sysinfo() zwraca niektóre statystyki dotyczące użycia pamięci fizycznej, użycia pamięci przestrzeni wymiany oraz średniego obciążenia systemu.

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

    struct sysinfo {
        long uptime;             /* Liczba 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;    /* Liczba procesów */
        char _f[22];             /* Dopełnienie do 64 bajtów */
    };

W powyższej strukturze rozmiary pamięci fizycznej i przestrzeni wymiany są podawane w bajtach.

Począwszy od Linuksa 2.3.23 (i386) i 2.3.48 (wszystkie architektury) struktura ta ma postać:

    struct sysinfo {
        long uptime;             /* Liczba sekund od startu systemu */
        unsigned long loads[3];  /* Średnie obciążenie w ciągu 1, 5 i 15 minut */
        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 do 64 bajtów */
    };

W powyższej strukturze rozmiary pamięci fizycznej i przestrzeni wymiany są podawane jako wielokrotności mem_unit bajtów.

WARTOŚĆ ZWRACANA
W przypadku powodzenia sysinfo() zwraca zero. W razie wystąpienia błędu zwracane jest -1 i ustawiana jest errno wskazując błąd.

BŁĘDY

EFAULT
    info nie jest poprawnym adresem.

STANDARDY
Linux.

HISTORIA
Linux 0.98.pl6.

UWAGI
Wszystkie informacje dostarczane przez to wywołanie systemowe są także dostępne w /proc/meminfo i /proc/loadavg.

ZOBACZ TAKŻE
proc(5)

TŁUMACZENIE
Tłumaczenie niniejszej strony podręcznika: Adam Byrtek <alpha@irc.pl>, Andrzej Krzysztofowicz <ankry@green.mf.pg.gda.pl>, Robert Luberda <robert@debian.org> i Michał Kułach <michal.kulach@gmail.com>

Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać zapoznając się z GNU General Public License w wersji 3 (https://www.gnu.org/licenses/gpl-3.0.html) lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.

Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej manpages-pl-list@lists.sourceforge.net.