table of contents
- buster 1:0.7-1
- buster-backports 1:4.10.0-1~bpo10+1
- testing 1:4.10.0-1
- unstable 1:4.10.0-1
SYSINFO(2) | Podręcznik programisty Linuksa | SYSINFO(2) |
NAZWA¶
sysinfo - zwraca informacje dotyczące systemuSKŁ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¶
proc(5)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) <alpha@irc.pl>, Andrzej M. Krzysztofowicz (PTM) <ankry@green.mf.pg.gda.pl> i Robert Luberda <robert@debian.org>.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.
2016-07-17 | Linux |