sysinfo

Autres langues

Langue: pl

Autres versions - même langue

Version: 1997-08-25 (fedora - 25/11/07)

Section: 2 (Appels système)

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)