proc_meminfo(5) File Formats Manual proc_meminfo(5) NAZWA /proc/meminfo - uzycie pamieci OPIS /proc/meminfo Plik zawiera statystyki nt. uzycia pamieci w systemie. Uzywa go free(1) do wskazania wielkosci wolnej i uzytej pamieci (zarowno fizycznej jak i wymiany) w systemie jak rowniez pamieci dzielonej i buforow uzywanych przez jadro. Kazdy wiersz sklada sie z nazwy parametru, dwukropka, wartosci parametru i opcjonalnej jednostki pomiaru (np. ,,kB"). Ponizsza lista opisuje nazwy parametrow i format wymagany do odczytu wartosci pol. Z wyjatkiem wyraznie wskazanych pol, wszystkie sa obecne od co najmniej Linuksa 2.6.0. Czesc pol jest wyswietlanych tylko jesli jadro zostalo skonfigurowane z pewnymi opcjami, te zaleznosci zaznaczono wowczas w opisie. MemTotal %lu Calkowity uzyteczny RAM (tzn. pamiec fizyczna RAM - kilka zarezerwowanych bitow i kod binarny jadra). MemFree %lu Suma LowFree+HighFree. MemAvailable %lu (od Linuksa 3.14) Przyblizona wartosc dostepnej pamieci do uruchamiania nowych aplikacji, bez pamieci wymiany. Buffers %lu Relatywnie tymczasowe miejsce przechowywania surowych blokow dyskowych ktore nie powinno byc zbyt duze (rzedu 20 MB). Cached %lu Bufor w pamieci przeznaczony na plik odczytane z dysku (bufora strony). Nie obejmuje SwapCached. SwapCached %lu Pamiec, ktora zostala przeniesiona do pamieci wymiany jest pozniej pobierana do pamieci i pozostawiana jednoczesnie w pliku wymiany (jesli jest duze zapotrzebowanie na pamiec, te strony nie musza byc ponownie przenoszone do pamieci wymiany, poniewaz juz znajduja sie w pliku wymiany. Unika sie w ten sposob zbednych operacji wejscia/wyjscia). Active %lu Pamiec ktora byla ostatnio uzywana. Z reguly nie jest odzyskiwana poza absolutnie koniecznymi przypadkami. Inactive %lu Pamiec ktora byla ostatnio slabiej uzywana. Nadaje sie w wiekszym stopniu do odzyskania do innych celow. Active(anon) %lu (od Linuksa 2.6.28) [do udokumentowania] Inactive(anon) %lu (od Linuksa 2.6.28) [do udokumentowania] Active(file) %lu (od Linuksa 2.6.28) [do udokumentowania] Inactive(file) %lu (od Linuksa 2.6.28) [do udokumentowania] Unevictable %lu (od Linuksa 2.6.28) (Od Linuksa 2.6.28 do Linuksa 2.6.30 wymagane bylo CONFIG_UNEVICTABLE_LRU). [do udokumentowania] Mlocked %lu (od Linuksa 2.6.28) (Od Linuksa 2.6.28 do Linuksa 2.6.30 wymagane bylo CONFIG_UNEVICTABLE_LRU). [do udokumentowania] HighTotal %lu (od Linuksa 2.6.19 wymagane jest CONFIG_HIGHMEM) Calkowita wielkosc pamieci highmem. Jest to pamiec powyzej ~860 MB pamieci fizycznej. Obszary highmem sa przeznaczone do uzycia przez programy w przestrzeni uzytkownika lub przez bufor strony. Jadro musi uzywac pewnych sztuczek aby uzyskac dostep do tej pamieci, co czyni dostep wolniejszym niz do pamieci lowmem. HighFree %lu (od Linuksa 2.6.19 wymagane jest CONFIG_HIGHMEM) Wielkosc wolnej pamieci highmem. LowTotal %lu (od Linuksa 2.6.19 wymagane jest CONFIG_HIGHMEM) Wielkosc calkowita pamieci lowmem. Lowmem to pamiec ktora mozna uzyc do tych samych celow co highmem, lecz jest rowniez dostepna dla wewnetrznych struktur danych jadra. Jest to miedzy innymi miejsce, gdzie przydzielane jest wszystko ze Slab. Gdy zabraknie pamieci lowmem nalezy sie spodziewac zlych wiadomosci. LowFree %lu (od Linuksa 2.6.19 wymagane jest CONFIG_HIGHMEM) Wielkosc wolnej pamieci lowmem. MmapCopy %lu (od Linuksa 2.6.29) (wymagane jest CONFIG_MMU) [do udokumentowania] SwapTotal %lu Calkowita wielkosc dostepnej pamieci wymiany. SwapFree %lu Wielkosc aktualnie nieuzywanej pamieci wymiany. Dirty %lu Pamiec czekajaca na ponowny zapis na dysk. Writeback %lu Pamiec zapisywana obecnie na dysk. AnonPages %lu (od Linuksa 2.6.18) Strony nie majace zapasu w postaci pliku zmapowane do tabel stron w przestrzeni uzytkownika. Mapped %lu Pliki ktore zostaly zmapowane do pamieci (za pomoca mmap(2)) np. biblioteki. Shmem %lu (od Linuksa 2.6.32) Wielkosc pamieci zajetej przez systemy plikow tmpfs(5). KReclaimable %lu (od Linuksa 4.20) Alokacje jadra, ktore jadro sprobuje odzyskac, jesli bedzie musialo odzyskac pamiec pod presja. Obejmuje to SReclaimable (ponizej) i inne bezposrednie alokacje ze shrinkerem. Slab %lu Wewnetrzny bufor jadra przeznaczony na jego struktury danych. (Patrz slabinfo(5).) SReclaimable %lu (od Linuksa 2.6.19) Czesc Slab, ktora moze byc przypisana ponownie, taka jak pamiec podreczna. SUnreclaim %lu (od Linuksa 2.6.19) Czesc Slab niemogaca byc przypisana ponownie przy malej ilosci pamieci. KernelStack %lu (od Linuksa 2.6.32) Wielkosc pamieci przypisana do stosow jadra. PageTables %lu (od Linuksa 2.6.18) Wielkosc pamieci przypisana do najnizszego poziomu tabel stron. Quicklists %lu (od Linuksa 2.6.27) (wymagane jest CONFIG_QUICKLIST) [do udokumentowania] NFS_Unstable %lu (od Linuksa 2.6.18) Strony NFS wyslane do serwera, lecz jeszcze nie wprowadzone na stabilny nosnik. Bounce %lu (od Linuksa 2.6.18) Pamiec uzywana do urzadzenia blokowego ,,bounce buffer". WritebackTmp %lu (od Linuksa 2.6.26) Pamiec uzywana przez FUSE do tymczasowych buforow pamieci z buforowaniem zapisu. CommitLimit %lu (od Linuksa 2.6.10) Jest to calkowita wielkosc pamieci dostepnej obecnie do przydzielenia w systemie wyrazona w kilobajtach. Limit jest przestrzegany jedynie gdy wlaczono scisle rozliczanie overcommitu (tryb 2 w /proc/sys/vm/overcommit_memory). Limit jest obliczany na podstawie wzoru opisanego przy /proc/sys/vm/overcommit_memory. Wiecej informacji znajduje sie w pliku zrodel jadra Documentation/vm/overcommit-accounting.rst. Committed_AS %lu Wielkosc pamieci obecnie przypisanej w systemie. Jest to suma pamieci zaalokowanej przez procesy, nawet jesli jej jeszcze nie ,,uzyly". Proces alokujacy 1 GB pamieci (za pomoca malloc(3) lub podobnej konstrukcji), uzywajacy jedynie 300 MB pamieci, bedzie pokazywal uzycie tych 300 MB pamieci, nawet jesli przydzielil przestrzen adresowa dla calego 1 GB. Ten 1 GB to pamiec ,,zatwierdzona" przez VM, ktora moze byc uzyta przez te aplikacje w dowolnym czasie. Gdy wlaczone jest scisly overcommit (tryb 2 w /proc/sys/vm/overcommit_memory) alokacja ktora przekroczylaby CommitLimit jest niedozwolona. Jest to przydatne do zagwarantowania, ze proces nie zawiedzie z powodu braku pamieci po jej poprawnym przydzieleniu. VmallocTotal %lu Calkowity rozmiar obszaru pamieci vmalloc. VmallocUsed %lu Wielkosc uzywanego obszaru vmalloc. Od Linuksa 4.4, wartosc tego pola nie jest juz obliczana i jest ustawiona na stale na 0. Zob. /proc/vmallocinfo. VmallocChunk %lu Najwiekszy ciagly blok obszaru vmalloc, ktory jest wolny. Od Linuksa 4.4, wartosc tego pola nie jest juz obliczana i jest ustawiona na stale na 0. Zob. /proc/vmallocinfo. HardwareCorrupted %lu (od Linuksa 2.6.32) (wymagane jest CONFIG_MEMORY_FAILURE) [do udokumentowania] LazyFree %lu (od Linuksa 4.12) Wyswietla wielkosc pamieci oznaczonej jako MADV_FREE przez madvise(2). AnonHugePages %lu (od Linuksa 2.6.38) (wymagane jest CONFIG_TRANSPARENT_HUGEPAGE) Duze strony nie majace zapasu w postaci pliku zmapowane do tabel stron w przestrzeni uzytkownika. ShmemHugePages %lu (od Linuksa 4.8) (wymagane jest CONFIG_TRANSPARENT_HUGEPAGE) Pamiec uzywana przez pamiec dzielona (shmem) i tmpfs(5) zaalokowane z duzymi (huge) stronami. ShmemPmdMapped %lu (od Linuksa 4.8) (wymagane jest CONFIG_TRANSPARENT_HUGEPAGE) Pamiec dzielona zmapowana do przestrzeni uzytkownika za pomoca duzych (huge) stron. CmaTotal %lu (od Linuksa 3.1) Lacznie stron CMA (Contiguous Memory Allocator) (wymagane jest CONFIG_CMA). CmaFree %lu (od Linuksa 3.1) Wolne strony CMA (Contiguous Memory Allocator) (wymagane jest CONFIG_CMA) HugePages_Total %lu (wymagane jest CONFIG_HUGETLB_PAGE) Rozmiar puli duzych stron. HugePages_Free %lu (wymagane jest CONFIG_HUGETLB_PAGE) Liczba duzych stron w puli, ktore nie sa jeszcze przydzielone. HugePages_Rsvd %lu (od Linuksa 2.6.17) (wymagane jest CONFIG_HUGETLB_PAGE) Jest to liczba duzych stron ktore przeznaczono do przydzielenia z puli, lecz jeszcze jej nie przeprowadzono. Zarezerwowane duze strony gwarantuja, ze aplikacja bedzie w stanie przypisac taka strone w razie chybienia. HugePages_Surp %lu (od Linuksa 2.6.24) (wymagane jest CONFIG_HUGETLB_PAGE) Jest to liczba duzych stron z puli powyzej wartosci /proc/sys/vm/nr_hugepages. Maksymalna liczba nadwyzki duzych stron jest kontrolowana przez /proc/sys/vm/nr_overcommit_hugepages. Hugepagesize %lu (wymagane jest CONFIG_HUGETLB_PAGE) Rozmiar duzych stron. DirectMap4k %lu (od Linuksa 2.6.27) Liczba bajtow RAM-u liniowo przypisanych przez jadro w stronach 4 kB (x86). DirectMap4M %lu (od Linuksa 2.6.27) Liczba bajtow RAM-u liniowo przypisanych przez jadro w stronach 4 MB (x86 z wlaczonym CONFIG_X86_64 lub CONFIG_X86_PAE). DirectMap2M %lu (od Linuksa 2.6.27) Liczba bajtow RAM-u liniowo przypisanych przez jadro w stronach 2 MB (x86 bez wlaczonego CONFIG_X86_64 ani CONFIG_X86_PAE). DirectMap1G %lu (od Linuksa 2.6.27) (x86 z wlaczonym CONFIG_X86_64 i CONFIG_X86_DIRECT_GBPAGES) ZOBACZ TAKZE proc(5) TLUMACZENIE Autorami polskiego tlumaczenia niniejszej strony podrecznika sa: Przemek Borys , Robert Luberda i Michal Kulach Niniejsze tlumaczenie jest wolna dokumentacja. Blizsze informacje o warunkach licencji mozna uzyskac zapoznajac sie z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje sie ZADNEJ ODPOWIEDZIALNOSCI. Bledy w tlumaczeniu strony podrecznika prosimy zglaszac na adres listy dyskusyjnej . Linux man-pages 6.9.1 2 maja 2024 r. proc_meminfo(5)