.TH LSMEM 1 "October 2016" "util-linux" "User Commands"
.SH NAME
lsmem \- list the ranges of available memory with their online status
.SH SYNOPSIS
.B lsmem
[options]
.SH DESCRIPTION
The \fBlsmem\fP 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 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 \fB\-\-output\fR option
together with a columns list in environments where a stable output is required.

The \fBlsmem\fP 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 \fB\-\-split\fR option (e.g. \fBlsmem
\-\-split=ZONES\fR).  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 \fB\-\-all\fR to list individual memory
blocks.

Note that some output columns may provide inaccurate information if a split policy
forces \fBlsmem\fP 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 \fBlsmem\fP output.

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

Use the \fB\-\-help\fR option to see the columns description.

.SH OPTIONS
.TP
.BR \-a ", " \-\-all
List each individual memory block, instead of combining memory blocks with
similar attributes.
.TP
.BR \-b , " \-\-bytes"
Print the SIZE column in bytes rather than in a human-readable format.
.TP
.BR \-h ", " \-\-help
Display help text and exit.
.TP
.BR \-J , " \-\-json"
Use JSON output format.
.TP
.BR \-n , " \-\-noheadings"
Do not print a header line.
.TP
.BR \-o , " \-\-output " \fIlist\fP
Specify which output columns to print.  Use \fB\-\-help\fR
to get a list of all supported columns.
The default list of columns may be extended if \fIlist\fP is
specified in the format \fB+\fIlist\fP (e.g. \fBlsmem \-o +NODE\fP).
.TP
.BR \-P , " \-\-pairs"
Produce output in the form of key="value" pairs.
All potentially unsafe characters are hex-escaped (\\x<code>).
.TP
.BR \-r , " \-\-raw"
Produce output in raw format.  All potentially unsafe characters are hex-escaped
(\\x<code>).
.TP
.BR \-S , " \-\-split " \fIlist\fP
Specify which columns (attributes) use to split memory blocks to ranges.  The
supported columns are STATE, REMOVABLE, NODE and ZONES, or "none". The another columns are
silently ignored. For more details see DESCRIPTION above.
.TP
.BR \-s , " \-\-sysroot " \fIdirectory\fP
Gather memory data for a Linux instance other than the instance from which the
\fBlsmem\fP command is issued.  The specified \fIdirectory\fP is the system
root of the Linux instance to be inspected.
.TP
.BR \-V ", " \-\-version
Display version information and exit.
.TP
\fB\-\-summary\fR[=\fIwhen\fR]
This option controls summary lines output.  The optional argument \fIwhen\fP can be
\fBnever\fR, \fBalways\fR or \fBonly\fR.  If the \fIwhen\fR argument is
omitted, it defaults to \fB"only"\fR. The summary output is suppressed for
\fB\-\-raw\fR, \fB\-\-pairs\fR and \fB\-\-json\fR.
.SH AUTHOR
.B 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.
.SH SEE ALSO
.BR chmem (8)
.SH AVAILABILITY
The \fBlsmem\fP command is part of the util-linux package and is available from
.UR https://\:www.kernel.org\:/pub\:/linux\:/utils\:/util-linux/
Linux Kernel Archive
.UE .
