lscpu – display information about the CPU architecture


查看 CPU 信息

# lscpu
Architecture:        x86_64
CPU op-mode(s):      32-bit, 64-bit
Byte Order:          Little Endian
Address sizes:       39 bits physical, 48 bits virtual
CPU(s):              4
On-line CPU(s) list: 0-3
Thread(s) per core:  2
Core(s) per socket:  2
Socket(s):           1
NUMA node(s):        1
Vendor ID:           GenuineIntel
CPU family:          6
Model:               60
Model name:          Intel(R) Core(TM) i7-4600M CPU @ 2.90GHz
Stepping:            3
CPU MHz:             1370.629
CPU max MHz:         3600.0000
CPU min MHz:         800.0000
BogoMIPS:            5786.49
Virtualization:      VT-x
L1d cache:           32K
L1i cache:           32K
L2 cache:            256K
L3 cache:            4096K
NUMA node0 CPU(s):   0-3
Flags:               fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss 
ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni 
pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_
timer aes xsave avx f16c rdrand lahf_lm abm cpuid_fault epb invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority e
pt vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid xsaveopt dtherm ida arat pln pts md_clear flush_l1d


	lscpu [-a|-b|-c|-J] [-x] [-y] [-s directory] [-e[=list]|-p[=list]]
	lscpu -h|-V


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.

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.



CPU op-mode(s)

Byte Order

Address sizes

CPU(s): 4

CPU(s) = Socket(s) * Core(s) per socket * Thread(s) per core

On-line CPU(s) list: 0-3

Thread(s) per core: 2

Core(s) per socket: 2

Socket(s): 1
简单说就是,在主板上的 CPU 物理插槽的个数。有些服务器具有两个 CPU(双路)。具有两个插槽和单个插槽的设备,在潜力方面存在巨大差异。

NUMA node(s)

Vendor ID

CPU family


Model name



CPU max MHz

CPU min MHz



L1d cache

L1i cache

L2 cache

L3 cache

NUMA node0 CPU(s)


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.

CPU The logical CPU number of a CPU as used by the Linux kernel.

CORE The logical core number. A core can contain several CPUs.

SOCKET The logical socket number. A socket can contain several cores.

BOOK The logical book number. A book can contain several sockets.

DRAWER The logical drawer number. A drawer can contain several books.

NODE The logical NUMA node number. A node can contain several drawers.

CACHE Information about how caches are shared between CPUs.

The physical address of a CPU.

ONLINE Indicator that shows whether the Linux instance currently makes use of the CPU.

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.

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:

horizontal The workload is spread across all available CPUs.

vertical The workload is concentrated on few CPUs.

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.

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

MINMHZ Minimum megahertz value for the CPU.


-a, –all
Include lines for online and offline CPUs in the output (default for -e). This option may only be specified together with option -e or -p.

-b, –online
Limit the output to online CPUs (default for -p). This option may only be specified together with option -e or -p.

-c, –offline
Limit the output to offline CPUs. This option may only be specified together with option -e or -p.

-e, –extended[=list]
Display the CPU information in human-readable format.

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

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

-h, –help
Display help text and exit.

-J, –json
Use JSON output format for the default summary or extended output (see –extended).

-p, –parse[=list]
Optimize the command output for easy parsing.

If the list argument is omitted, the command output is compatible with earlier versions of lscpu. In this compatible format, two commas are used to separate CPU cache columns. If no CPU caches are identified the

cache column is omitted.

If the list argument is used, cache columns are separated with a colon (:).

When specifying the list argument, the string of option, equal sign (=), and list must not contain any blanks or other whitespace. Examples: ‘-p=cpu,node’ or ‘–parse=cpu,node’.

-s, –sysroot directory
Gather CPU data for a Linux instance other than the instance from which the lscpu command is issued. 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 to print the sets in 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. Physi‐

cal IDs are not necessarily unique and they might not be arranged sequentially. If the kernel could not retrieve a physical ID for an element lscpu prints the dash (-) character.

The CPU logical numbers are not affected by this option.

-V, –version
Display version information and exit.


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.


Cai Qian <

Karel Zak <

Heiko Carstens <




The lscpu command is part of the util-linux package and is available from


man 1 lscpu, Version lscpu from util-linux 2.32
(Socket/Core per socket/Thread per core) in server exactly means ??