基础命令学习目录首页html
使用lscpu查看的结果以下图,这里会显示不少信息,以下:node
使用lscpu -p会详细的numa信息,以下:linux
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
i2000:~
# lscpu
Architecture: x86_64
CPU
op
-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 8
On-line CPU(s) list: 0-7
Thread(s) per core: 2
Core(s) per socket: 1
Socket(s): 4
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 62
Stepping: 4
CPU MHz: 2499.998
BogoMIPS: 4999.99
Hypervisor vendor: KVM
Virtualization
type
: full
L1d cache: 32K
L1i cache: 32K
L2 cache: 4096K
NUMA node0 CPU(s): 0-7
|
socket就是主板上插cpu的槽的数目,也就是能够插入的物理CPU的个数。sublime-text
core就是咱们平时说的“核“,每一个物理CPU能够双核,四核等等。缓存
thread就是每一个core的硬件线程数,即超线程bash
输入命令cat /proc/cpuinfo 查看physical id有几个,上述结果显示只有0,因此只有一个物理cpu;查看processor有几个,上述结果显示有0和1两个,因此有两个逻辑cpu。服务器
(一)概念
① 物理CPU
实际Server中插槽上的CPU个数
物理cpu数量,能够数不重复的 physical id 有几个
② 逻辑CPU
/proc/cpuinfo 用来存储cpu硬件信息的
信息内容分别列出了processor 0 –processor n 的规格。这里须要注意,n是逻辑cpu数
通常状况,咱们认为一颗cpu能够有多核,加上intel的超线程技术(HT), 能够在逻辑上再分一倍数量的cpu core出来
逻辑CPU数量=物理cpu数量 x cpu cores 这个规格值 x 2(若是支持并开启ht)
备注一下:Linux下top查看的CPU也是逻辑CPU个数
③ CPU核数
一块CPU上面能处理数据的芯片组的数量、好比如今的i5 760,是双核心四线程的CPU、而 i5 2250 是四核心四线程的CPU
通常来讲,物理CPU个数×每颗核数就应该等于逻辑CPU的个数,若是不相等的话,则表示服务器的CPU支持超线程技术
㈡ 查看CPU信息
当咱们 cat /proc/cpuinfo 时、
具备相同core id的CPU是同一个core的超线程
具备相同physical id的CPU是同一个CPU封装的线程或核心
㈢ 下面举例说明
① 查看物理CPU的个数
#cat /proc/cpuinfo |grep "physical id"|sort |uniq|wc -l
2
② 查看逻辑CPU的个数
#cat /proc/cpuinfo |grep "processor"|wc -l
24
③ 查看CPU是几核
#cat /proc/cpuinfo |grep "cores"|uniq
6
我这里应该是2个Cpu,每一个Cpu有6个core,应该是Intel的U,支持超线程,因此显示24 架构
lscpu
显示 CPU 的架构信息socket
lscpu
从 sysfs
和 proc/cpuinfo
中收集信息。这个命令的输出是规范的能够用来解析,或者给人来阅读。该命令显示的信息包括,CPU 的数量,线程 (thread),核心 (core),Socket 还有 Non-Uniform Memory Access (NUMA) 节点数。ide
举例来讲,若是某个服务器”2 路 4 核超线程”,也就是 2 个插槽,4 核心,默认为 2 thread,也就是 242 是 16 逻辑 CPU。对操做系统来讲,逻辑 CPU 的数量就是 Socket * Core * Thread
。
好比下面个人台式机,1 Sockets, 4 Cores,2 Threads,那么就是 4 核 8 线程。
以下示例:
Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian CPU(s): 8 On-line CPU(s) list: 0-7 Thread(s) per core: 2 Core(s) per socket: 4 Socket(s): 1 NUMA node(s): 1
lscpu 收集来自 sysf,/proc/cpuinfio 和任何适用于体系结构的库的 CPU 体系结构信息
命令输出能够进行优化, 以供分析或便于阅读。这些信息包括,列如:
cpu的数量、线程、内核、套接字和非统一内存访问 (NUMA) 节点。
还有有关 CPU 缓存和缓存共享、家族、模型 bogoMIPS、字节顺序和单步执行的信息。
在虚拟化环境中, 显示的 CPU 体系结构信息反映了与物理 (主机) 系统一般不一样的来宾操做系统的配置。 在支持检索物理拓扑信息的体系结构中, lscpu 还显示主机系统中的物理插座、芯片、内核数。
并不是全部的列都支持全部的体系结构。 若是指定了不支持的列, lscpu 将打印该列, 但不为其提供任何数据。
!CPU 文件存放在 /sys/devices/system/cpu/
查看CPU信息
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 2
On-line CPU(s) list: 0-1
Thread(s) per core: 1
Core(s) per socket: 2
座:
2
NUMA 节点: 1
厂商
ID: GenuineIntel
CPU 系列: 6
型号:
63
型号名称:
Intel(R) Core(TM) i7-5820K CPU @ 3.30GHz
步进:
2
CPU MHz: 3299.050
BogoMIPS: 6598.10
超管理器厂商:
VMware
虚拟化类型:
彻底
L1d 缓存: 32K
L1i 缓存: 32K
L2 缓存: 256K
L3 缓存: 15360K
NUMA 节点0 CPU: 0-1
|
将指定的CPU关闭
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
cd /sys/devices/system/cpu/ # 进入CPU目录
pwd
/sys/devices/system/cpu
ls -Al |grep 'cpu[0-9]' # 正规则查询 CPU目录下 全部CPU
drwxr-xr-x. 6 root root 0 2月 5 2018 cpu0
drwxr-xr-x. 6 root root 0 2月 5 2018 cpu1
cat ./cpu[0-9]/online # 查看全部CPU的 online 值
1
1
echo 0 > ./cpu1/online # 将CPU0 关闭
cat ./cpu[0-9]/online
1
0
lscpu |grep -Ei 'on-line|off-line' # 查看全部CPU的 online 值,能够看到 CPU1 已经被关闭
On-line CPU(s) list: 1
Off-line CPU(s) list: 0
|