CPU可能对于我们来说是熟悉又陌生的,每天的工作基本都离不开CPU,CPU的消耗是系统负载的一个重要指标,每天都会不定时的来看看CPU的使用情况,但是对于它了解甚少。在查找了一些资料,个人还是比较能够接受<<大规模分布式存储系统:原理解析与架构实战>>中对于CPU的描述。首先来看看书中提供的一张图。这张图是关于经典的多CPU架构为对称多处理结构(Symmetric Multi-Processing,SMP),即在一个计算机上汇集了一组处理器,它们之间对称工作,无主次或从属关系,共享相同的物理内存及总线直接拷贝作者的原话:SMP系统由两个CPU组成,每个CPU有两个核心(core),CPU与内存之间通过总线通信。每个核心有各自的L1d Cache(L1数据缓存)及L1i Cache(L1指令缓存),同一个CPU的多个核心共享L2以及L3缓存,另外,某些CPU还可以通过超线程技术(Hyper-Threading Tech-nology)使得一个核心具有同时执行两个线程的能力。对于这一点可以举一个类似的例子来说明。在awr报告中,我们总是在报告头部得到一些硬件的信息,比如下面的这一段内容来自于工作中的awr内容。
| Host Name | Platform | CPUs | Cores | Sockets | Memory (GB) |
|---|---|---|---|---|---|
| xxx | Linux x86 64-bit | 80 | 40 | 4 | 346.22 |
根据上面的信息,socket就是主板上插cpu的槽的数目,这个地方也代表着存在着4个物理CPU。CPUs为80代表逻辑CPU,10