重要概念
物理 CPU
实际 Server 中插槽上的 CPU 个数
物理 cpu 数量,可以数不重复的 physical id 有几个,查看方法
grep "physical id" /proc/cpuinfo|sort|uniq|wc -l
2
```单块CPU上面能处理数据的芯片组的数量,如双核、四核等 (cpu cores)。
比如现在的i5 760,是双核心四线程的CPU、而 i5 2250 是四核心四线程的CPU 。一般来说,物理CPU个数×每颗核数就应该等于逻辑CPU的个数,如果不相等的话,则表示服务器的CPU支持超线程技术
```bash
cat /proc/cpuinfo |grep "cpu cores"|uniq
grep "cpu cores" /proc/cpuinfo|uniq|awk -F ":" "{print $2}"逻辑 CPU
Linux 用户对 /proc/cpuinfo 这个文件肯定不陌生. 它是用来存储 cpu 硬件信息的
信息内容分别列出了 processor 0 – n 的规格。这里需要注意,如果你认为 n 就是真实的 cpu 数的话, 就大错特错了。
一般情况,我们认为一颗cpu可以有多核,加上intel的超线程技术(HT), 可以在逻辑上再分一倍数量的 cpu core 出来
逻辑CPU数量=物理cpu数量 x cpu cores 这个规格值 x 2(如果支持并开启ht)。
如果有一个以上逻辑处理器拥有相同的 core id 和 physical id,则说明系统支持超线程(HT)技术
备注一下:Linux 下 top 查看的 CPU 也是逻辑 CPU 个数
cat /proc/cpuinfo| grep "processor" |wc -l32(支持超线程)
查看方法
通过 cat /proc/cpuinfocpu 来查看相关信息。
vendor id 如果处理器为英特尔处理器,则字符串是 GenuineIntel。
processor 包括这一逻辑处理器的唯一标识符。
physical id 包括每个物理封装的唯一标识符。
core id 保存每个内核的唯一标识符。
siblings 列出了位于相同物理封装中的逻辑处理器的数量。
cpu cores 包含位于相同物理封装中的内核数量。
拥有相同 physical id 的所有逻辑处理器共享同一个物理插座,每个 physical id 代表一个唯一的物理封装。
Siblings 表示位于这一物理封装上的逻辑处理器的数量,它们可能支持也可能不支持超线程(HT)技术。
每个 core id 均代表一个唯一的处理器内核,所有带有相同 core id 的逻辑处理器均位于同一个处理器内核上。简单的说:“siblings” 指的是一个物理 CPU 有几个逻辑 CPU,” cpu cores“指的是一个物理 CPU 有几个核。
如果有一个以上逻辑处理器拥有相同的 core id 和 physical id,则说明系统支持超线程(HT)技术。
如果有两个或两个以上的逻辑处理器拥有相同的 physical id,但是 core id 不同,则说明这是一个多内核处理器。cpu cores 条目也可以表示是否支持多内核。
top 命令关于 cpu 使用率
下面做一个简单的测试,终端中使用如下命令1
md5sum /dev/zero &
开启 top,如下所示

按数字键 1 后查看所有核的使用率。

发现使用 top 命令,左上角显示的是整体负载,即单核的负载数除以核数。%CPU 数值代表单个核的使用率,超过 100% 代表使用其他核的计算资源。
第一行:
10:01:23 — 当前系统时间
126 days, 14:29 — 系统已经运行了 126 天 14 小时 29 分钟(在这期间没有重启过)
2 users — 当前有 2 个用户登录系统
load average: 1.15, 1.42, 1.44 — load average 后面的三个数分别是 1 分钟、5 分钟、15 分钟的负载情况。load average 数据是每隔 5 秒钟检查一次活跃的进程数,然后按特定算法计算出的数值。如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了。
第二行:
Tasks — 任务(进程),系统现在共有 183 个进程,其中处于运行中的有 1 个,182 个在休眠(sleep),stoped 状态的有 0 个,zombie 状态(僵尸)的有 0 个。
第三行:cpu 状态
6.7% us — 用户空间占用 CPU 的百分比。
0.4% sy — 内核空间占用 CPU 的百分比。
0.0% ni — 改变过优先级的进程占用 CPU 的百分比
92.9% id — 空闲 CPU 百分比
0.0% wa — IO 等待占用 CPU 的百分比
0.0% hi — 硬中断(Hardware IRQ)占用 CPU 的百分比
0.0% si — 软中断(Software Interrupts)占用 CPU 的百分比
















