Provided by: manpages-pl-dev_20051117-1_all bug

NAZWA

       sysinfo - zwraca informacje statystyczne dotyczące całego systemu

SKŁADNIA

       #include <sys/sysinfo.h>

       int sysinfo(struct sysinfo *info);

OPIS

       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)