以下两个命令似乎给出了关于同一硬件的不同信息
srs@ubuntu:~$ cat /proc/cpuinfo | grep -e processor -e cores
processor : 0
cpu cores : 4
processor : 1
cpu cores : 4
processor : 2
cpu cores : 4
processor : 3
cpu cores : 4
srs@ubuntu:~$ sudo dmidecode -t processor
# dmidecode 2.9
SMBIOS 2.6 present.
Handle 0x0004, DMI type 4, 42 bytes
Processor Information
Socket Designation: LGA1155
Type: Central Processor
Family: <OUT OF SPEC>
Manufacturer: Intel
ID: A7 06 02 00 FF FB EB BF
Version: Intel(R) Core(TM) i5-2500K CPU @ 3.30GHz
Voltage: 1.0 V
External Clock: 100 MHz
Max Speed: 3800 MHz
Current Speed: 3300 MHz
Status: Populated, Enabled
Upgrade: Other
L1 Cache Handle: 0x0005
L2 Cache Handle: 0x0006
L3 Cache Handle: 0x0007
Serial Number: To Be Filled By O.E.M.
Asset Tag: To Be Filled By O.E.M.
Part Number: To Be Filled By O.E.M.
Core Count: 4
Core Enabled: 1
Characteristics:
64-bit capable
直到今天我还以为我有一个带有 4 个独立核心的单处理器。我还以为每个核心都可以使用不同的线程。
Mitch 给出了找出我拥有的单插槽四核处理器的方法(示例 3):
srs@ubuntu:~$ cat /proc/cpuinfo | grep -e processor -e "model name" -e "cache size" -e "physical id" -e "siblings" -e "core id" -e "cpu cores"
processor : 0
model name : Intel(R) Core(TM) i5-2500K CPU @ 3.30GHz
cache size : 6144 KB
physical id : 0
siblings : 4
core id : 0
cpu cores : 4
processor : 1
model name : Intel(R) Core(TM) i5-2500K CPU @ 3.30GHz
cache size : 6144 KB
physical id : 0
siblings : 4
core id : 1
cpu cores : 4
processor : 2
model name : Intel(R) Core(TM) i5-2500K CPU @ 3.30GHz
cache size : 6144 KB
physical id : 0
siblings : 4
core id : 2
cpu cores : 4
processor : 3
model name : Intel(R) Core(TM) i5-2500K CPU @ 3.30GHz
cache size : 6144 KB
physical id : 0
siblings : 4
core id : 3
cpu cores : 4
现在我明白了,处理器的种类比我想象的要多得多。谢谢
答案1
多核处理器是具有 1 个以上以相同速度运行的核心的单个处理器。
双 CPU = 表示 2 个物理 CPU
双核 = 意味着单个 CPU 有两个核心,可以同时处理两个线程
例如,运行速度为 3GHz 的四核处理器将有 4 个核心以该速度运行。这意味着在给定时间内,CPU 可以在 4 个独立核心中处理 4 次数据。
较新的应用程序和游戏采用可从多核处理器中获益的方式进行编码。
有关详细信息,您可以查看理解 Linux /proc/cpuinfo
答案2
需要注意的是,在最近的硬件上,您的计算机通常会报告实际存在的内核数的两倍 - (例如,在这台 i7 4 核机器上,系统监视器显示 8)。这是由于超线程,存在于大多数现代系统中。
超线程 CPU 一次只能执行一组指令,但任何给定的程序往往要花费大量时间等待(等待从内存或其他硬件中获取数据以执行某项操作),CPU 有多个指令队列,只要其中一个空闲,就可以在它们之间切换。因此,单个物理核心在操作系统中呈现为两个虚拟核心。
这本质上与操作系统使用线程允许多个程序共享单个处理器相同,但以硬件而不是软件实现效率更高。上述文章声称,两个虚拟核心上的典型任务比一个真实核心上的等效工作快约 30%。
因此,cat /proc/cpuinfo
显示 8 个处理器,而dmidecode
显示
Core Count: 4
Core Enabled: 4
Thread Count: 8
即8个虚拟核心和4个真实核心。