AWR报告中的CPUs、Cores是哪个是物理核数、哪个是逻辑核数?
转载自:http://blog.itpub.net/28853590/viewspace-2147565/
本文分为两个版本10g AWR报告和11gAWR报告的物理核数和逻辑核数看法
11g AWR看法:
查看物理CPU的插槽数 -------》对应Sockets(看出真正的物理核数)
[oracle@db1 ~]$ cat /proc/cpuinfo |grep "physical id"|sort |uniq|wc -l
4
查看逻辑CPU的个数 -------》对应CPUs
[oracle@db1 ~]$ cat /proc/cpuinfo |grep "processor"|wc -l
48
查看每颗CPU封装的是几核 -------》对应Cores/Sockets,对应siblings/线程数
[oracle@db1 ~]$ cat /proc/cpuinfo |grep "cores"|uniq
cpu cores : 6
cat /proc/cpuinfo 关于CPU的核心参数说明:
physical id:CPU的物理封装的编号,从0开始依次编码;(看出真正的物理核数)
siblings: 每一个物理封装上的逻辑核心数目
cpu cores: 每个物理封装上的物理核心数目;
core id: 当前物理核心在物理封装上的编号
processor: 逻辑CPU核心编号,从0开始依次编码;
上述数字关系:
siblings/(cpu cores) = 每一个物理封装上的逻辑核心数目/每个CPU物理核心下逻辑CPU数目,如果等于1 则没有超线程,如果大于1则有超线程;
逻辑核数自己算出公式:siblings*(max(physical id) +1) = 机器所有逻辑核心的数目 = max(processor)+1
总结对应关系:
CPUs是指代逻辑CPU数量,即processor;
Cores是 不考虑线程的 真实CPU核数,即单颗CPU封装核数×插槽数 (本图中6×4);
Sockets指代主板上的CPU插槽,即该服务器支持的最大的CPU数量(只有在该服务器的CPU满配的情况下,该值才等于真正的CPU物理数量,否则一般情况下该值都大于真正的物理CPU数量)。
结论:该服务器CPU使用了超线程技术,主板上4个CPU插槽,满配4个CPU物理封装,
每个CPU物理封装有6个物理核心,一共4*6=24个物理核心,使用超线程,24*2=48个逻辑核心。
以上参考:http://blog.itpub.net/29067253/viewspace-2132363/
重点参考英文文档:
WORKLOAD REPOSITORY report for
DB Name DB Id Instance Inst Num Startup Time Release RAC
------------ ----------- ------------ -------- --------------- ----------- ---
SLOB 3521916847 SLOB 1 29-Sep-12 05:27 11.2.0.3.0 NO
Host Name Platform CPUs Cores Sockets Memory(GB)
---------------- -------------------------------- ---- ----- ------- ----------
NNNN Linux x86 64-bit 32 16 2 62.87
We all know that E5-2680 is an 8-core part with SMT (Simultaneous Multi-threading) enabled. Further, this was a 2U 2-socket box. So, sure, 2 sockets and a sum of 16 cores. However, with SMT I get 32 “CPUs”. I’ve quoted CPU because they are logical processors.
来自 <http://blog.csdn.net/liaimin12345/article/details/24807611>
我们知道E5-2680是一个八核,支持超线程技术的CPU。它拥有2个CPU插槽。
所以,满配可以获得16个物理内核(cores)。
并且,通过超线程技术我获得了32个CPU。我引用这个CPU数,是因为这是逻辑CPU数。
10g AWR看法:
在10g的AWR报告中
NUM_CPUS是逻辑CPU核数为40,
NUM_CPU_SOCKETS是CPU插槽数为2(socket槽数,插座)
NUM_CPUS除以2为20,即是siblings(单词:兄弟姐妹,可以理解为每一颗CPU都有兄弟姐妹,所以是单颗封装的CPU核数×线程数),
,再除以线程数,可以得出单颗CPU封装了10核CPU,这里是满配,超线程之前的真实核数是20。
结论:该服务器CPU使用了超线程技术,主板上2个CPU插槽,满配2个CPU物理封装,
每个CPU物理封装有10个物理核心,一共2*10=20个物理核心,使用超线程,20*2=40个逻辑核心。