table of contents
slabinfo(5) | File Formats Manual | slabinfo(5) |
NAZWA¶
slabinfo - statystyki alokatora płyt (slab) w jądrze
SKŁADNIA¶
cat /proc/slabinfo
OPIS¶
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:
- •
- statystyki
- •
- tunables
- •
- slabdata
Występują poniższe statystyki:
- active_objs
- Liczba aktualnie aktywnych obiektów (tj. w użyciu).
- num_objs
- Całkowita liczba przydzielonych obiektów (tj. obiektów w użyciu i nieużywanych)
- objsize
- Rozmiar obiektów w tej płycie, w bajtach.
- objperslab
- Liczba obiektów przechowywanych w każdej płycie.
- pagesperslab
- Liczba stron przydzielonych do każdej płyty.
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:
- limit
- Maksymalna liczba obiektów, które będą zbuforowane.
- batchcount
- W systemach SMP, określa to liczbę obiektów, które będą przetransferowane jednocześnie, przy ponownym wypełnianiu listy dostępnych obiektów.
- [do udokumentowania]
Wpisy slabdata w każdym wierszu zawierają poniższe wpisy:
- active_slabs
- Liczba aktywnych płyt.
- nums_slabs
- Całkowita liczba płyt.
- [do udokumentowania]
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.
WERSJE¶
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:
- 1.0
- Obecny w serii jąder Linux 2.2.x.
- 1.1
- Obecny w serii jąder Linux 2.4.x.
- 1.2
- Format obecny przez chwilę w serii rozwojowej Linuksa 2.5.
- 2.0
- Obecny w jądrach Linux 2.6.x do 2.6.9 włącznie.
- 2.1
- Aktualny format, pojawił się pierwotnie w Linuksie 2.6.10.
UWAGI¶
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.
ZOBACZ TAKŻE¶
Pliki Documentation/vm/slub.txt i tools/vm/slabinfo.c w źródłach jądra.
TŁUMACZENIE¶
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.
2 maja 2024 r. | Linux man-pages 6.9.1 |