Linux系统之lscpu命令的基本使用
一、lscpu命令介绍
lscpu 是一个 Linux 命令,用于显示CPU架构的详细信息。它可以用来查看 CPU 的型号、主频、架构、虚拟化支持等。
二、lscpu命令的使用帮助
2.1 命令格式
lscpu [选项]
2.2 命令选项
- 下面是lscpu命令的常用选项
-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 使用帮助
lscpu 命令还支持一些选项和参数,可以通过
lscpu --help
命令来查看详细用法。
[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版本
使用-V选项,查看lscpu工具版本。
[root@jeven ~]# lscpu -V
lscpu from util-linux 2.23.2
3.2 直接使用lspcu命令
lscpu是一个用于显示和收集有关CPU架构的信息的命令。它可以显示有关CPU型号、核心数、线程数、缓存大小和架构等信息。打开终端或命令提示符,直接输入
lscpu命令
并按下回车键
[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信息
使用
-p
选项显示有关CPU拓扑结构的信息,这里列出了每个CPU核的详细信息,包括所属的核心、插槽、节点以及各级缓存的大小。每一行表示一个CPU核,以逗号分隔的方式列出了对应的ID。
[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信息
使用
-e
选项,使用可扩展格式打印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命令在不同的操作系统上可能会有一些差异,某些选项可能不可用。可以通过man lscpu命令或lscpu --help命令查看该命令的帮助文档和更多选项。用lscpu命令需要有一定的Linux系统和硬件知识,并根据实际需要选择合适的选项和命令组合。
使用lscpu命令需要注意以下几点:
-
lscpu命令只能在Linux系统中使用,不能在其他操作系统中使用。
-
需要以root用户或具有sudo权限的用户身份运行lscpu命令。
-
lscpu命令输出的信息较多,包括处理器架构、核心数、线程数、CPU频率、缓存大小等等,需要根据需要筛选所需信息。
-
lscpu命令的输出信息可能因为不同的Linux发行版和硬件平台而有所差异。
-
lscpu命令可以通过使用选项来获取特定的信息,如-l选项用于显示逻辑核心数,-p选项用于显示物理核心数,等等。
-
lscpu命令可以与其他命令结合使用,如grep命令用于过滤lscpu输出的结果,awk命令用于进一步处理输出结果等等。