lsmem(1) — Linux manual page


LSMEM(1)                      User Commands                     LSMEM(1)

NAME         top

       lsmem - list the ranges of available memory with their online

SYNOPSIS         top

       lsmem [options]

DESCRIPTION         top

       The lsmem command lists the ranges of available memory with their
       online status. The listed memory blocks correspond to the memory
       block representation in sysfs. The command also shows the memory
       block size and the amount of memory in online and offline state.

       The default output is compatible with original implementation
       from s390-tools, but it’s strongly recommended to avoid using
       default outputs in your scripts. Always explicitly define
       expected columns by using the --output option together with a
       columns list in environments where a stable output is required.

       The lsmem command lists a new memory range always when the
       current memory block distinguish from the previous block by some
       output column. This default behavior is possible to override by
       the --split option (e.g., lsmem --split=ZONES). The special word
       "none" may be used to ignore all differences between memory
       blocks and to create as large as possible continuous ranges. The
       opposite semantic is --all to list individual memory blocks.

       Note that some output columns may provide inaccurate information
       if a split policy forces lsmem to ignore differences in some
       attributes. For example if you merge removable and non-removable
       memory blocks to the one range than all the range will be marked
       as non-removable on lsmem output.

       Not all columns are supported on all systems. If an unsupported
       column is specified, lsmem prints the column but does not provide
       any data for it.

       Use the --help option to see the columns description.

OPTIONS         top

       -a, --all
           List each individual memory block, instead of combining
           memory blocks with similar attributes.

       -b, --bytes
           Print the sizes in bytes rather than in a human-readable

           By default, the unit, sizes are expressed in, is byte, and
           unit prefixes are in power of 2^10 (1024). Abbreviations of
           symbols are exhibited truncated in order to reach a better
           readability, by exhibiting alone the first letter of them;
           examples: "1 KiB" and "1 MiB" are respectively exhibited as
           "1 K" and "1 M", then omitting on purpose the mention "iB",
           which is part of these abbreviations.

       -J, --json
           Use JSON output format.

       -n, --noheadings
           Do not print a header line.

       -o, --output list
           Specify which output columns to print. Use --help to get a
           list of all supported columns. The default list of columns
           may be extended if list is specified in the format +list
           (e.g., lsmem -o +NODE).

           Output all available columns.

       -P, --pairs
           Produce output in the form of key="value" pairs. All
           potentially unsafe value characters are hex-escaped

       -r, --raw
           Produce output in raw format. All potentially unsafe
           characters are hex-escaped (\x<code>).

       -S, --split list
           Specify which columns (attributes) use to split memory blocks
           to ranges. The supported columns are STATE, REMOVABLE, NODE
           and ZONES, or "none". The other columns are silently ignored.
           For more details see DESCRIPTION above.

       -s, --sysroot directory
           Gather memory data for a Linux instance other than the
           instance from which the lsmem command is issued. The
           specified directory is the system root of the Linux instance
           to be inspected.

       -h, --help
           Display help text and exit.

       -V, --version
           Print version and exit.

           This option controls summary lines output. The optional
           argument when can be never, always or only. If the when
           argument is omitted, it defaults to "only". The summary
           output is suppressed for --raw, --pairs and --json.

AUTHORS         top

       lsmem was originally written by Gerald Schaefer for s390-tools in
       Perl. The C version for util-linux was written by Clemens von
       Mann, Heiko Carstens and Karel Zak.

SEE ALSO         top


REPORTING BUGS         top

       For bug reports, use the issue tracker at

AVAILABILITY         top

       The lsmem command is part of the util-linux package which can be
       downloaded from Linux Kernel Archive
       <>. This page
       is part of the util-linux (a random collection of Linux
       utilities) project. Information about the project can be found at
       ⟨⟩. If you have
       a bug report for this manual page, send it to This page was obtained from the
       project's upstream Git repository
       ⟨git://⟩ on
       2023-12-22. (At that time, the date of the most recent commit
       that was found in the repository was 2023-12-14.) If you discover
       any rendering problems in this HTML version of the page, or you
       believe there is a better or more up-to-date source for the page,
       or you have corrections or improvements to the information in
       this COLOPHON (which is not part of the original manual page),
       send a mail to

util-linux 2.39.594-1e0ad      2023-07-19                       LSMEM(1)

Pages that refer to this page: chmem(8)