Linux/UNIX的核心理念是“一切皆文件”。文件中还记录了硬件信息。使用cat/proc/cpuinfo查看CPU的详细信息。vendorid如果处理器是Intel处理器,则字符串为GenuineIntel。processor包含此逻辑处理器的唯一标识符。physicalid包含每个物理包的唯一标识符。coreid为每个核心保存一个唯一的标识符。siblings列出驻留在同一物理包中的逻辑处理器的数量。cpucores包含位于同一物理包中的内核数。所有具有相同物理id的逻辑处理器共享同一个物理socket,每个物理id代表一个唯一的物理包。兄弟代表位于此物理包上的逻辑处理器的数量,这些处理器可能支持也可能不支持超线程(HT)技术。每个核心ID代表一个唯一的处理器核心,所有具有相同核心ID的逻辑处理器都驻留在同一个处理器核心上。简单的说:“siblings”是指一个物理CPU有多少个逻辑CPU,“cpucores”是指一个物理CPU有多少个cores。如果不止一个逻辑处理器具有相同的coreid和physicalid,则表示系统支持超线程(HT)技术。如果有两个或多个具有相同物理ID但不同核心ID的逻辑处理器,则它是一个多核处理器。cpucores条目还可以指示是否支持多核。根据以上规则,可以计算出:物理CPU在实际物理机中插槽上的CPU个数。即物理CPU个数,可以统计出多少个不重复的physicalid,查看方法grep"physicalid"/proc/cpuinfo|排序|独特|wc-lCPUcorenumber可以在单个CPU上处理数据的芯片组个数,即CPU核心数,如dual-core、quad-core等(cpucores)。.一般来说,物理CPU数×核心数应该等于逻辑CPU数;如果不相等,说明服务器的CPU支持超线程技术cat/proc/cpuinfo|grep“cpu核心”|uniqgrep“cpu核心”/proc/cpuinfo|独特|awk-F":""{print$2}"logicCPULinux用户一定很熟悉/proc/cpuinfo文件。它用于存储CPU硬件信息。信息内容分别列出了处理器0-n的规格。这里要注意,如果你认为n是真实的CPU数量,那就大错特错了。一般来说,我们认为一个CPU可以有多个核心,而借助Intel的超线程技术(Hyper-Threading),在逻辑上可以划分成双倍的cpu核心数。逻辑CPU数量=物理CPU数量xcpucores此规格值x2(如果支持并启用ht)。如果不止一个逻辑处理器有相同的coreid和physicalid,说明系统支持Hyper-Threading(HT)技术注:Linux下top查看的CPU也是逻辑CPU的个数。猫/proc/cpuinfo|grep“处理器”|wc-l
