Linux/UNIX下的哲学核心思想是'一切皆文件'。硬件信息也记录在了文件中。
经过cat /proc/cpuinfo 来查看CPU相关详细信息。bash
- vendor id 若是处理器为英特尔处理器,则字符串是 GenuineIntel。
- processor 包括这一逻辑处理器的惟一标识符。
- physical id 包括每一个物理封装的惟一标识符。
- core id 保存每一个内核的惟一标识符。
- siblings 列出了位于相同物理封装中的逻辑处理器的数量。
- cpu cores 包含位于相同物理封装中的内核数量。
根据上述规则,能够计算获得:服务器
实际物理机中插槽上的CPU个数。ui
即物理CPU数量,能够数不重复的 physical id 有几个,查看方法线程
grep "physical id" /proc/cpuinfo | sort | uniq | wc -l
单块CPU
上面能处理数据的芯片组的数量即CPU核数,如双核、四核等 (cpu cores)。
。通常来讲,物理CPU个数×每颗核数就应该等于逻辑CPU
的个数;若是不相等的话,则表示服务器的CPU支持超线程技术
code
cat /proc/cpuinfo | grep "cpu cores" | uniq grep "cpu cores" /proc/cpuinfo | uniq | awk -F ":" "{print $2}"
Linux用户对 /proc/cpuinfo 这个文件确定不陌生。它是用来存储CPU硬件信息的
信息内容分别列出了processor 0 – n
的规格。这里须要注意,若是你认为n就是真实的CPU数的话, 就大错特错了。字符串
通常状况,咱们认为一颗CPU能够有多核
,加上intel的超线程技术(Hyper-Threading)
, 能够在逻辑上再分一倍数量的cpu core出来逻辑CPU数量=物理CPU数量 x cpu cores 这个规格值 x 2(若是支持并开启ht)
。class
若是有一个以上逻辑处理器拥有相同的 core id 和 physical id,则说明系统支持超线程(HT)技术
awk
备注一下:Linux下top查看的CPU也是逻辑CPU
个数。硬件
cat /proc/cpuinfo | grep "processor" | wc -l