Linux系统之lscpu命令的基本使用
一、lscpu命令介绍
二、lscpu命令的使用帮助
2.1 命令格式
lscpu [选项]
2.2 命令选项
- 下面是ls命令的常用选项
-a, --all # 打印在线和离线CPU(默认为-e)
-b, --online # 仅打印在线CPU(-p的默认值)
-c, --offline # 打印离线CPU
-e, --extended[=<list>] # 打印出一个扩展的可读格式
-p, --parse[=<list>] # 打印出可解析的格式
-s, --sysroot <dir> # 将指定的目录用作系统根目录
-x, --hex # 打印十六进制掩码,而不是CPU列表
-h, --help # 显示此帮助并退出
-V, --version # 输出版本信息并退出
2.3 使用帮助
[root@jeven ~]# lscpu --help
Usage:
lscpu [options]
Display information about the CPU architecture.
Options:
-a, --all print both online and offline CPUs (default for -e)
-b, --online print online CPUs only (default for -p)
-c, --offline print offline CPUs only
-e, --extended[=<list>] print out an extended readable format
-p, --parse[=<list>] print out a parsable format
-s, --sysroot <dir> use specified directory as system root
-x, --hex print hexadecimal masks rather than lists of CPUs
-y, --physical print physical instead of logical IDs
-h, --help display this help and exit
-V, --version output version information and exit
Available columns:
CPU logical CPU number
CORE logical core number
SOCKET logical socket number
NODE logical NUMA node number
BOOK logical book number
DRAWER logical drawer number
CACHE shows how caches are shared between CPUs
POLARIZATION CPU dispatching mode on virtual hardware
ADDRESS physical address of a CPU
CONFIGURED shows if the hypervisor has allocated the CPU
ONLINE shows if Linux currently makes use of the CPU
MAXMHZ shows the maximum MHz of the CPU
MINMHZ shows the minimum MHz of the CPU
For more details see lscpu(1).
三、lscpu命令的基本使用
3.1 查看lscpu版本
[root@jeven ~]# lscpu -V
lscpu from util-linux 2.23.2
3.2 直接使用lspcu命令
[root@jeven ~]# lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 6
On-line CPU(s) list: 0-5
Thread(s) per core: 1
Core(s) per socket: 6
Socket(s): 1
NUMA node(s): 1
Vendor ID: AuthenticAMD
CPU family: 23
Model: 113
Model name: AMD Ryzen 5 3600 6-Core Processor
Stepping: 0
CPU MHz: 3593.247
BogoMIPS: 7186.49
Virtualization: AMD-V
Hypervisor vendor: VMware
Virtualization type: full
L1d cache: 32K
L1i cache: 32K
L2 cache: 512K
L3 cache: 32768K
NUMA node0 CPU(s): 0-5
Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc art rep_good nopl tsc_reliable nonstop_tsc extd_apicid eagerfpu pni pclmulqdq ssse3 fma cx16 sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw perfctr_core retpoline_amd ssbd ibpb vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec clzero arat npt svm_lock nrip_save vmcb_clean flushbyasid decodeassists overflow_recov succor
lscpu命令会显示包含以下信息的输出:
Architecture
: 表示系统的架构,这里是x86_64,表示64位的x86架构。CPU op-mode(s)
: 表示处理器支持的操作模式,这里是32位和64位。Byte Order
: 表示系统的字节顺序,这里是小端字节顺序。CPU(s)
: 表示系统中的CPU数量,这里是6个。On-line CPU(s) list
: 表示在线的CPU列表,这里是0到5,表示所有的CPU都是在线状态。Thread(s) per core
: 表示每个核心的线程数,这里是1,表示每个核心只有一个线程。Core(s) per socket
: 表示每个处理器插槽中的核心数,这里是6,表示每个处理器插槽中有6个核心。Socket(s)
: 表示系统中的处理器插槽数,这里是1,表示只有一个处理器插槽。NUMA node(s)
: 表示非一致性内存访问(NUMA)节点数,这里是1,表示只有一个NUMA节点。Vendor ID
: 表示处理器的供应商ID,这里是AuthenticAMD,表示是AMD的处理器。CPU family
: 表示处理器系列,这里是23,表示属于AMD的第23个处理器系列。Model
: 表示处理器型号,这里是113,表示是AMD Ryzen 5 3600 6-Core处理器。Model name
: 表示处理器的具体型号名称。Stepping
: 表示处理器的步进号。CPU MHz
: 表示处理器的主频,这里是3593.247 MHz。BogoMIPS
: 表示处理器的性能指标,这里是7186.49。Virtualization
: 表示处理器是否支持虚拟化,这里是AMD-V,表示支持AMD虚拟化技术。Hypervisor vendor
: 表示虚拟化软件的供应商,这里是VMware。Virtualization type
: 表示虚拟化类型,这里是full,表示完全虚拟化。L1d cache
: 表示一级数据缓存的大小,这里是32K。L1i cache
: 表示一级指令缓存的大小,这里是32K。L2 cache
: 表示二级缓存的大小,这里是512K。L3 cache
: 表示三级缓存的大小,这里是32768K。NUMA node0 CPU(s
): 表示NUMA节点0中的CPU列表,这里是0到5。Flags
: 表示处理器的特性标志,列举了处理器支持的各种指令集和功能。
3.3 可解析的格式打印cpu信息
[root@jeven ~]# lscpu -p
# The following is the parsable format, which can be fed to other
# programs. Each different item in every column has an unique ID
# starting from zero.
# CPU,Core,Socket,Node,,L1d,L1i,L2,L3
0,0,0,0,,0,0,0,0
1,1,0,0,,1,1,1,0
2,2,0,0,,2,2,2,0
3,3,0,0,,3,3,3,0
4,4,0,0,,4,4,4,0
5,5,0,0,,5,5,5,0
3.4 可扩展格式打印cpu信息
[root@jeven ~]# lscpu -e
CPU NODE SOCKET CORE L1d:L1i:L2:L3 ONLINE
0 0 0 0 0:0:0:0 yes
1 0 0 1 1:1:1:0 yes
2 0 0 2 2:2:2:0 yes
3 0 0 3 3:3:3:0 yes
4 0 0 4 4:4:4:0 yes
5 0 0 5 5:5:5:0 yes
四、lscpu命令使用注意事项
使用lscpu命令需要注意以下几点:
-
lscpu命令只能在Linux系统中使用,不能在其他操作系统中使用。
-
需要以root用户或具有sudo权限的用户身份运行lscpu命令。
-
lscpu命令输出的信息较多,包括处理器架构、核心数、线程数、CPU频率、缓存大小等等,需要根据需要筛选所需信息。
-
lscpu命令的输出信息可能因为不同的Linux发行版和硬件平台而有所差异。
-
lscpu命令可以通过使用选项来获取特定的信息,如-l选项用于显示逻辑核心数,-p选项用于显示物理核心数,等等。
-
lscpu命令可以与其他命令结合使用,如grep命令用于过滤lscpu输出的结果,awk命令用于进一步处理输出结果等等。