.TH LSCPU 1 "November 2015" "util-linux" "User Commands"
.SH NAME
lscpu \- display information about the CPU architecture
.SH SYNOPSIS
.B lscpu
.RB [ \-a | \-b | \-c | \-J "] [" \-x "] [" \-y "] [" \-s " \fIdirectory\fP] [" \-e [=\fIlist\fP]| \-p [=\fIlist\fP]]
.br
.B lscpu
.BR \-h | \-V
.SH DESCRIPTION
.B lscpu
gathers CPU architecture information from sysfs, /proc/cpuinfo and any
applicable architecture-specific libraries (e.g.\& librtas on Powerpc).  The
command output can be optimized for parsing or for easy readability by humans.
The information includes, for example, the number of CPUs, threads, cores,
sockets, and Non-Uniform Memory Access (NUMA) nodes.  There is also information
about the CPU caches and cache sharing, family, model, bogoMIPS, byte order,
and stepping.
.sp
In virtualized environments, the CPU architecture information displayed
reflects the configuration of the guest operating system which is
typically different from the physical (host) system.  On architectures that
support retrieving physical topology information,
.B lscpu
also displays the number of physical sockets, chips, cores in the host system.
.sp
Options that result in an output table have a \fIlist\fP argument.  Use this
argument to customize the command output.  Specify a comma-separated list of
column labels to limit the output table to only the specified columns, arranged
in the specified order.  See \fBCOLUMNS\fP for a list of valid column labels.  The
column labels are not case sensitive.
.sp
Not all columns are supported on all architectures.  If an unsupported column is
specified, \fBlscpu\fP prints the column but does not provide any data for it.

.SS COLUMNS
Note that topology elements (core, socket, etc.) use a sequential unique ID
starting from zero, but CPU logical numbers follow the kernel where there is
no guarantee of sequential numbering.
.TP
.B CPU
The logical CPU number of a CPU as used by the Linux kernel.
.TP
.B CORE
The logical core number.  A core can contain several CPUs.
.TP
.B SOCKET
The logical socket number.  A socket can contain several cores.
.TP
.B BOOK
The logical book number.  A book can contain several sockets.
.TP
.B DRAWER
The logical drawer number.  A drawer can contain several books.
.TP
.B NODE
The logical NUMA node number.  A node can contain several drawers.
.TP
.B CACHE
Information about how caches are shared between CPUs.
.TP
.B ADDRESS
The physical address of a CPU.
.TP
.B ONLINE
Indicator that shows whether the Linux instance currently makes use of the CPU.
.TP
.B CONFIGURED
Indicator that shows if the hypervisor has allocated the CPU to the virtual
hardware on which the Linux instance runs.  CPUs that are configured can be set
online by the Linux instance.
This column contains data only if your hardware system and hypervisor support
dynamic CPU resource allocation.
.TP
.B POLARIZATION
This column contains data for Linux instances that run on virtual hardware with
a hypervisor that can switch the CPU dispatching mode (polarization).  The
polarization can be:
.RS
.TP 12
.B horizontal\fP
The workload is spread across all available CPUs.
.TP 12
.B vertical
The workload is concentrated on few CPUs.
.P
For vertical polarization, the column also shows the degree of concentration,
high, medium, or low.  This column contains data only if your hardware system
and hypervisor support CPU polarization.
.RE
.TP
.B MAXMHZ
Maximum megahertz value for the CPU. Useful when \fBlscpu\fP is used as hardware
inventory information gathering tool.  Notice that the megahertz value is
dynamic, and driven by CPU governor depending on current resource need.
.TP
.B MINMHZ
Minimum megahertz value for the CPU.
.SH OPTIONS
.TP
.BR \-a , " \-\-all"
Include lines for online and offline CPUs in the output (default for \fB-e\fR).
This option may only be specified together with option \fB-e\fR or \fB-p\fR.
.TP
.BR \-b , " \-\-online"
Limit the output to online CPUs (default for \fB-p\fR).
This option may only be specified together with option \fB-e\fR or \fB-p\fR.
.TP
.BR \-c , " \-\-offline"
Limit the output to offline CPUs.
This option may only be specified together with option \fB-e\fR or \fB-p\fR.
.TP
.BR \-e , " \-\-extended" [=\fIlist\fP]
Display the CPU information in human-readable format.

If the \fIlist\fP argument is omitted, all columns for which data is available
are included in the command output.

When specifying the \fIlist\fP argument, the string of option, equal sign (=), and
\fIlist\fP must not contain any blanks or other whitespace.
Examples: '\fB-e=cpu,node\fP' or '\fB--extended=cpu,node\fP'.
.TP
.BR \-h , " \-\-help"
Display help text and exit.
.TP
.BR \-J , " \-\-json"
Use JSON output format for the default summary or extended output (see \fB\-\-extended\fP).
.BR
.TP
.BR \-p , " \-\-parse" [=\fIlist\fP]
Optimize the command output for easy parsing.

If the \fIlist\fP argument is omitted, the command output is compatible with earlier
versions of \fBlscpu\fP.  In this compatible format, two commas are used to separate
CPU cache columns.  If no CPU caches are identified the cache column is omitted.
.br
If the \fIlist\fP argument is used, cache columns are separated with a colon (:).

When specifying the \fIlist\fP argument, the string of option, equal sign (=), and
\fIlist\fP must not contain any blanks or other whitespace.
Examples: '\fB-p=cpu,node\fP' or '\fB--parse=cpu,node\fP'.
.TP
.BR \-s , " \-\-sysroot " \fIdirectory\fP
Gather CPU data for a Linux instance other than the instance from which the
\fBlscpu\fP command is issued.  The specified \fIdirectory\fP is the system root
of the Linux instance to be inspected.
.TP
.BR \-x , " \-\-hex"
Use hexadecimal masks for CPU sets (for example 0x3).  The default is to print
the sets in list format (for example 0,1).
.TP
.BR \-y , " \-\-physical"
Display physical IDs for all columns with topology elements (core, socket, etc.).
Other than logical IDs, which are assigned by \fBlscpu\fP, physical IDs are
platform-specific values that are provided by the kernel. Physical IDs are not
necessarily unique and they might not be arranged sequentially.
If the kernel could not retrieve a physical ID for an element \fBlscpu\fP prints
the dash (-) character.

The CPU logical numbers are not affected by this option.
.TP
.BR \-V , " \-\-version"
Display version information and exit.
.TP
.B \-\-output\-all
Output all available columns.  This option must be combined with either
.BR \-\-extended " or " \-\-parse .
.SH BUGS
The basic overview of CPU family, model, etc. is always based on the first
CPU only.

Sometimes in Xen Dom0 the kernel reports wrong data.

On virtual hardware the number of cores per socket, etc. can be wrong.
.SH AUTHOR
.nf
Cai Qian <qcai@redhat.com>
Karel Zak <kzak@redhat.com>
Heiko Carstens <heiko.carstens@de.ibm.com>
.fi
.SH "SEE ALSO"
.BR chcpu (8)
.SH AVAILABILITY
The lscpu command is part of the util-linux package and is available from
https://www.kernel.org/pub/linux/utils/util-linux/.
