lsmem — list the ranges of available memory with their online status


lsmem [options]


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 compatible with original implementaion 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.

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.


−a, −−all

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

−b, −−bytes

Print the SIZE column in bytes rather than in a human-readable format.

−h, −−help

Display help text and exit.

−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.

−P, −−pairs

Produce output in the form of key="value" pairs. All potentially unsafe characters are hex-escaped (\x<code>). The default list of columns may be extended if list is specified in the format +list (e.g. lsmem −o +NODE).

−r, −−raw

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

−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.

−V, −−version

Display version information 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 suppresed for −−raw, −−pairs and −−json.


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.




The lsmem command is part of the util-linux package and is available from Linux Kernel Archive