Linux下可以cat /proc/cpuinfo看到每个cpu的详细信息。
但是对于双核的cpu,在cpuinfo中会看到两个cpu。常常会让人误以为是两个单核的cpu。
其实应该通过Physical Processor ID来区分单核和双核。而Physical Processor ID可以从cpuinfo或者dmesg中找到
例如
root@debian:~:0# dmesg | grep CPU | grep ID
CPU0: Initial APIC ID: 0, Physical Processor ID: 0
CPU1: Initial APIC ID: 1, Physical Processor ID: 0
CPU2: Initial APIC ID: 6, Physical Processor ID: 3
CPU3: Initial APIC ID: 7, Physical Processor ID: 3
可以看到,这台机器有两个双核的CPU,ID分别是0和3。
cat /proc/cpuinfo | grep "core id" | sort | uniq | wc -l
google搜索:
http://xuev.blogbus.com/logs/40695517.html
/proc/cpuinfo 描述中有 6 个条目适用于多内核和超线程(HT)技术检查:processor, vendor id, physical id, siblings, core id 和 cpu cores。
* processor 条目包括这一逻辑处理器的唯一标识符。
* physical id 条目包括每个物理封装的唯一标识符。
* core id 条目保存每个内核的唯一标识符。
* siblings 条目列出了位于相同物理封装中的逻辑处理器的数量。
* cpu cores 条目包含位于相同物理封装中的内核数量。
* 如果处理器为英特尔处理器,则 vendor id 条目中的字符串是 GenuineIntel。