Scroll to navigation

LSMEM(1) Polecenia użytkownika LSMEM(1)

NAZWA

lsmem - wyszczególnia dostępne przedziały pamięci wraz z ich stanem aktywności.

SKŁADNIA

lsmem [opcje]

OPIS

Polecenie lsmem wypisuje przedziały dostępnej pamięci wraz z ich stanem aktywności. Wypisane bloki pamięci odpowiadają reprezentacji bloków pamięci w sysfs. Polecenie pokazuje również rozmiar pojedynczego bloku pamięci oraz całkowitą wielkość pamięci w stanie aktywnym i nieaktywnym.

Domyślny wynik jest kompatybilny z pierwotną implementacją z s390-tools, lecz usilnie zaleca się unikać korzystania z domyślnego wyjścia w swoich skryptach. Należy zawsze definiować wprost oczekiwane kolumny za pomocą opcji --output wraz listą kolumn w środowiskach, w których oczekiwane jest stabilne wyjście.

Polecenie lsmem zawsze wypisuje nowy zakres pamięci, gdy bieżący blok pamięci różni się od poprzedniego bloku w którejś kolumnie wyjściowej. To domyślne zachowanie można przesłonić opcją --split (np. lsmem --split=ZONES). Z opcją --split można stosować specjalne słowo none, które nakaże zignorowanie wszelkich różnic pomiędzy blokami pamięci i utworzenie największych możliwych ciągłych przedziałów. Przeciwne zachowanie zapewni --all, wypisujące wszystkie pojedyncze bloki pamięci.

Proszę zauważyć, że niektóre kolumny wyjściowe mogą zawierać niedokładne informacje, jeśli nakazano lsmem podział przedziałów w sposób zmuszający do ignorowania różnic w niektórych atrybutach. Przykładowo jeśli połączy się bloki pamięci usuwalnej i nieusuwalnej do jednego przedziału, to w wyjściu lsmem wszystkie przedziały zostaną oznaczono jako nieusuwalne.

Obsługiwane kolumny to: RANGE, SIZE, STATE, REMOVABLE, BLOCK, NODE, ZONES, CONFIGURED i MEMMAP-ON-MEMORY.

RANGE

Fizyczny adres początkowy i końcowy zakresu pamięci.

SIZE

Rozmiar zakresu pamięci, reprezentujący całkowitą wielkość pamięci w tym przedziale.

STATE

Bieżący stan aktywności przedziału pamięci. Najczęstsze obejmują: stan aktywny (online), nieaktywny (offline) i stany przejściowe.

REMOVABLE

Wskazuje, czy pamięć jest usuwalna.

BLOCK

Przedział lub numer konkretnego bloku pamięci.

NODE

Węzeł NUMA (Non-Uniform Memory Access), do którego należy blok pamięci.

ZONES

Strefy pamięci, do których należą bloki, takie jak DMA, Normal, Movable.

CONFIGURED

Stan konfiguracji bloku pamięci. W podręczniku chmem(8) opisano szczegóły konfigurowania i usuwania konfiguracji bloków pamięci.

MEMMAP-ON-MEMORY

Stan memmap-on-memory bloku pamięci w momencie konfiguracji. Ustawienie wskazuje, gdzie pamięć typu hotplug przechowuje swoje wewnętrzne metadane (tablica stron jako struct albo mapa pamięci). Jeśli MEMMAP-ON-MEMORY jest ustawione na 1, metadane są przydzielane bezpośrednio z nowo dodanej pamięci typu hotplug, umożliwiając dodawanie pamięci nawet w sytuacji niedoboru pamięci w systemie. Jeśli jest ustawione na 0, metadane mapy pamięci są przydzielane z istniejącej pamięci systemowej.

Nie wszystkie kolumny są obsługiwane na wszystkich systemach. Jeśli poda się nieobsługiwaną kolumnę, lsmem wypisze kolumnę, ale nie wyświetli w niej żadnych danych. Dodatkowo, lsmem może pominąć kolumny takie jak CONFIGURED lub MEMMAP-ON-MEMORY, jeśli te wskazania nie są istotne na architekturze danego systemu.

W systemach, które mogą konfigurować/zdekonfigurować pamięć, wymagane jest skonfigurowanie pamięci przed jej aktywacją.

Wiersz podsumowania "Parametr memmap-on-memory" pokazuje globalne ustawienie memmap-on-memory dla memory_hotplug. Jest to zwykle ustawiane w wierszu poleceń jądra za pomocą memory_hotplug.memmap_on_memory.

OPCJE

-a, --all

Wypisuje każdy pojedynczy blok pamięci, zamiast łączyć bloki pamięci o podobnych atrybutach.

-b, --bytes

Wypisuje rozmiar w bajtach, zamiast w postaci czytelnej dla człowieka.

Domyślnie, jednostki są pokazywane w jednostkach będących wielokrotnościami 1024 bajtów. Formalne skróty tych jednostek (KiB, MiB, GiB, ...) są następnie skracane do pierwszej litery: K, M, G, ....

-J, --json

Używa formatu wyjściowego JSON.

-n, --noheadings

Nie wypisuje nagłówka.

-o, --output lista

Określa, które kolumny wyjściowe wypisać. Opcja --help pokaże listę wszystkich obsługiwanych kolumn. Domyślną listę kolumn można rozszerzyć, podając listę w formacie +lista. Przykład: lsmem -o +NODE.

--output-all

Wypisuje wszystkie dostępne kolumny.

-P, --pairs

Tworzy wyjście w postaci par klucz="wartość". Wszystkie potencjalnie niebezpieczne znaki są cytowane szesnastkowo (\x<kod>).

-r, --raw

Tworzy wyjście w formacie surowym. Wszystkie potencjalnie niebezpieczne znaki są cytowane szesnastkowo (\x<kod>).

-S, --split lista

Określa których kolumn użyć do podziału bloków pamięci na przedziały. Obsługiwane są następujące kolumny: STATE, REMOVABLE, NODE, ZONES, CONFIGURED, MEMMAP-ON-MEMORY albo none (żadne). Inne nazwy kolumn są po cichu ignorowane. Więcej szczegółów w rozdziale OPIS powyżej.

-s, --sysroot katalog

Zbiera informacje o pamięci w systemie Linux innym niż ten, z którego uruchomiono lsmem. Podany katalog jest głównym katalogiem kopii Linuksa do sprawdzenia.

--summary[=kiedy]

Opcja kontroluje wypisywanie wierszy podsumowania. Opcjonalnym argumentem kiedy może być never (nigdy), always (zawsze) lub only (tylko podsumowanie). Jeśli pominie się argument kiedy, przyjmuje on wartość domyślną only. Podsumowanie jest wyłączane przy opcjach --raw, --pairs i --json.

-h, --help

Wyświetla ten tekst i wychodzi.

-V, --version

Wyświetla wersję i wychodzi.

ŚRODOWISKO

LSMEM_COLUMNS

Określa listę kolumn do wypisania (separatorem jest przecinek). Można podać wszystkie kolumny wymienione przez --help.

LIBSMARTCOLS_DEBUG=all

włącza wyjście debugowania libsmartcols.

LIBSMARTCOLS_DEBUG_PADDING=on

używa widocznych znaków wypełnienia.

AUTORZY

lsmem pierwotnie napisał Gerald Schaefer do s390-tools w Perlu. Wersję C do util-linux napisali: Clemens von Mann, Heiko Carstens i Karel Zak.

ZOBACZ TAKŻE

chmem(8)

ZGŁASZANIE BŁĘDÓW

Problemy należy zgłaszać w systemie śledzenia błędów <https://github.com/util-linux/util-linux/issues>.

DOSTĘPNOŚĆ

Polecenie lsmem jest częścią pakietu util-linux, który można pobrać ze strony Archiwum jądra Linux <https://www.kernel.org/pub/linux/utils/util-linux/>.

2026-09-02 util-linux 2.42.3