lscpu
display information about the CPU architecture
lscpu [-a|-b|-c] [-x] [-y] [-s directory] [-e[=list]|-p[=list]]
lscpu -h|-V
gathers CPU architecture information from sysfs, /proc/cpuinfo
and any applicable architecture-specific libraries
. Output can be optimized for parsing or for 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.
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, lscpu also displays the number of physical sockets, chips, cores in the host system.
Options that result in an output table have a list 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 COLUMNS for a list of valid column labels. The column labels are not case sensitive.
Not all columns are supported on all architectures. If an unsupported column is specified, lscpu prints the column but does not
provide any data for it.
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.
NODE logical NUMA node number. A node can contain several drawers.
| DRAWER logical drawer number. A drawer can contain several books.
| BOOK logical book number. A book can contain several sockets.
| SOCKET logical socket number. A socket can contain several cores.
| CORE logical core number. A core can contain several CPUs.
| CPU logical CPU number of a CPU as used by the Linux kernel.
|
| CACHE how caches are shared between CPUs.
| ADDRESS physical address of a CPU.
| ONLINE Indicator that shows whether the Linux instance currently makes use of the CPU.
| 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.
| POLARIZATION
data for Linux instances that run on virtual hardware with a hypervisor that can switch the CPU dispatching mode (polarization). The polarization can be:
horizontal workload is spread across all available CPUs.
| vertical workload is concentrated on few CPUs.
the column also shows the degree of concentration, high, medium, or low.
| | |
| MAXMHZ Maximum megahertz value for the CPU. Useful when lscpu 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.
|
MINMHZ Minimum megahertz value for the CPU.
| | | | | | | | | | | | | |
OPTIONS
-e --extended[=list] Display the CPU information in human-readable format.
If list is omitted, all columns are included.
When specifying the list argument, the string of option, equal sign (=), and list must not contain any blanks or other
whitespace. Examples: -e=cpu,node or --extended=cpu,node .
| -p --parse[=list] Optimize output for parsing.
If list is omitted, output is compatible with earlier versions,
two commas are used to separate CPU cache columns. .
If list is used, cache columns are separated with a colon (:).
list is string of option=item,item and must not contain any
whitespace.
Examples: -p=cpu,node or --parse=cpu,node .
| -a --all Include lines for online and offline CPUs (default for -e ). only with -e or -p.
-b --online Limit the output to online CPUs (default for -p ). with -e or -p.
| -c --offline Limit the output to offline CPUs. with -e or -p.
-s --sysroot directory
Gather CPU data for a Linux instance other than the running one. The specified directory is the system root of the Linux instance to be inspected.
| -x --hex Use hexadecimal masks for CPU sets (for example 0x3). The default is list format (for example 0,1).
| -y --physical
Display physical IDs for all columns with topology elements (core, socket, etc.).
Other than logical IDs, which are
assigned by lscpu, physical IDs are platform-specific values that are provided by the kernel.
Physical IDs are not necessarily unique and are not arranged sequentially.
CPU logical numbers are not affected by this option.
| -h --help
| -V --version
| | | | | | | | | | | | |
The basic overview of CPU family, model, etc. is always based on the first CPU only.
On virtual hardware the number of cores per socket, etc. can be wrong.
See
chcpu
lscpu # Pi Zero W aka pi93graf
Architecture: armv6l
Byte Order: Little Endian
CPU(s): 1
On-line CPU(s) list: 0
Thread(s) per core: 1
Core(s) per socket: 1
Socket(s): 1
Model: 7
Model name: ARMv6-compatible processor rev 7 (v6l)
CPU max MHz: 1000.0000
CPU min MHz: 700.0000
BogoMIPS: 697.95
Flags: half thumb fastmult vfp edsp java tls
lscpu -e
CPU SOCKET CORE ONLINE MAXMHZ MINMHZ
0 0 0 yes 1000.0000 700.0000