Linux repositories inspector
Linux
2016-07-17

manpages-pl-dev

Polish man pages for developers

man-pages-pl

Polish man pages from the Linux Documentation Project

manpages-dev

Manual pages about using GNU/Linux for development

man-pages

Linux kernel and C library user-space interface documentation

NAZWA

sysinfo - zwraca informacje dotyczące systemu

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 odpowiednia wartość zmiennej errno.

BŁĘDY

EFAULT info nie jest poprawnym adresem.

WERSJE

sysinfo() pojawiło się w Linuksie 0.98.pl6.

ZGODNE Z

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

UWAGI

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

ZOBACZ TAKŻE

O STRONIE

Angielska wersja tej strony pochodzi z wydania 4.07 projektu Linux man-pages. Opis projektu, informacje dotyczące zgłaszania błędów oraz najnowszą wersję oryginału można znaleźć pod adresem https://www.kernel.org/doc/man-pages/.

TŁUMACZENIE

Autorami polskiego tłumaczenia niniejszej strony podręcznika man są: Adam Byrtek (PTM) <>, Andrzej M. Krzysztofowicz (PTM) <> i Robert Luberda <>.
Polskie tłumaczenie jest częścią projektu manpages-pl; uwagi, pomoc, zgłaszanie błędów na stronie http://sourceforge.net/projects/manpages-pl/. Jest zgodne z wersją 4.07 oryginału.

REFERENCED BY

⇧ Top