slabinfo
statystyki alokatora płyt (slab) w jądrze
- Provided by: manpages-pl (Version: 1:4.31.0-1)
- Source: manpages-l10n
- Report a bug
statystyki alokatora płyt (slab) w jądrze
cat /proc/slabinfo
Często używane obiekty w jądrze Linux (nagłówki buforów, i-węzły, dentry itp.) mają swoje własne bufory. Plik /proc/slabinfo udostępnia statystyki tych buforów. Poniższe (zmodyfikowane) wyjście pokazuje przykład zawartości tego pliku:
$ sudo cat /proc/slabinfo; slabinfo - version: 2.1 # name <active_objs> <num_objs> <objsize> <objperslab> <pagesperslab> ... sigqueue 100 100 160 25 1 : tunables 0 0 0 : slabdata 4 4 0 sighand_cache 355 405 2112 15 8 : tunables 0 0 0 : slabdata 27 27 0 kmalloc-8192 96 96 8192 4 8 : tunables 0 0 0 : slabdata 24 24 0 ...
Pierwszy wiersz zawiera numer wersji, pozwalającym aplikacjom odczytującej plik na obsługę zmian w formacie pliku (zob. WERSJE poniżej). Następny wiersz zawiera listę nazw kolumn będących w pozostałych wierszach
Każdy z pozostałych wierszy wyświetla informacje o określonym buforze. Po nazwie bufora, pokazane wyjście w każdym wierszu wyświetla trzy składowe każdego bufora:
Występują poniższe statystyki:
Wpisy tunables w każdym wierszu pokazują parametry, które można zmodyfikować dla poszczególnego bufora. Przy korzystaniu z domyślnego alokatora SLUB, takie wartości nie występują, plik /proc/slabinfo nie jest zapisywalny, a w tych polach wyświetlana jest wartość 0. Jeśli korzysta się ze starszego alokatora SLAB, wartości dla poszczególnego bufora można ustawić zapisując wiersz w poniższej postaci do /proc/slabinfo:
# echo 'nazwa limit batchcount sharedfactor' > /proc/slabinfo;
Nazwa jest tu nazwą bufora, a limit, batchcount i sharedfactor stanowią liczby całkowite definiujące poszczególne nowe wartości. Wartość limit powinna być dodatnia, wartość batchcount powinna być dodatnia i mniejsza lub równa wartości limit, a sharedfactor powinno być nieujemne. Jeśli dowolna z podanych wartości będzie nieprawidłowa, ustawienia bufora nie ulegną zmianie.
Wpisy tunables w każdym wierszu zawierają poniższe wpisy:
Wpisy slabdata w każdym wierszu zawierają poniższe wpisy:
Proszę zauważyć, że ze względu na wyrównanie obiektów i narzut bufora płyt, obiekty nie są zwykle umieszczane ściśle w stronach. Strony zawierające choć jeden obiekt w użyciu są uważane za w użyciu i nie mogą być zwolnione.
Jądra skonfigurowane z opcją CONFIG_DEBUG_SLAB będą zawierać również dodatkowe pola ze statystykami w każdym wierszu, a pierwszy wiersz w pliku będzie zawierał łańcuch „(statistics)”. Pola statystyk obejmują: szczytową liczba aktywnych obiektów; ile razy obiekty były przydzielone, ile razy bufor został zwiększony (dodano do danego bufora nowe strony); ile razy bufor został wyrwany (reaped; nieużywane strony usunięto z danego bufora) i ile razy przy przydzielaniu nowych stron do tego bufora wystąpił błąd.
Plik /proc/slabinfo pojawił się pierwotnie w Linuksie 2.1.23. Plik jest wersjonowany, a z biegiem czasu pojawiło się wiele wersji z różnym rozmieszczeniem danych:
Jedynie root może odczytywać i (jeśli jądro skonfigurowano z opcją CONFIG_SLAB) zapisywać plik /proc/slabinfo.
Całkowita ilość pamięci przydzielonej do bufora SLAB/SLUB widnieje w polu Slab w pliku /proc/meminfo.
Pliki Documentation/mm/slab.rst i tools/mm/slabinfo.c w źródłach jądra.
Tłumaczenie niniejszej strony podręcznika: Michał Kułach <michal.kulach@gmail.com>
Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać zapoznając się z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.
Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej manpages-pl-list@lists.sourceforge.net.