![多核是否允许与多 CPU 相同的 CPU 使用率?](https://linux22.com/image/1323950/%E5%A4%9A%E6%A0%B8%E6%98%AF%E5%90%A6%E5%85%81%E8%AE%B8%E4%B8%8E%E5%A4%9A%20CPU%20%E7%9B%B8%E5%90%8C%E7%9A%84%20CPU%20%E4%BD%BF%E7%94%A8%E7%8E%87%EF%BC%9F.png)
我打算购买配备 i5-2410M 处理器的笔记本电脑,该处理器有 2 个核心(根据规格它也可以有 4 个线程)。我曾经使用过具有 4 个 CPU 的 Linode 服务器,Debian 上的一个进程 (mysqld)(在 top 命令中)的 CPU 使用率为 200%,那么 2 个核心是否也会出现同样的情况。
答案1
Linux 支持多核处理器。如果您的处理器可以运行 4 个线程,则在某些情况下它的速度相当于四个处理器。但是,如果您计划快速运行单个应用程序(不支持多核),那么您的处理器需要具有大缓存和高时钟速度。
答案2
您的问题要求我们将实际 CPU 与假设的多 CPU 系统进行比较。这实际上是不可能的。当然,理论上可以想象一个具有两个 CPU 的系统,它将提供与双核 CPU 相同的性能。也可以想象两个 CPU 系统比 i5-2410M 更快或更慢。
答案3
正如戴维·施瓦茨 (David Schwartz) 指出的那样,这种比较即使有可能,也是令人望而生畏的。
假设人们谈论的是同代同价位的处理器,并且以相同或非常相似的时钟频率运行,那么单个双核处理器(或 2*N 核处理器)通常优于两个单核处理器(或两个 N 核处理器)。
显然,您无法以非常有意义的方式将 2 核 Conroe 与两个单核 Sandy Bridges 进行比较(这种事真的存在吗?——但您明白我的意思)。同样,当一个处理器的缓存大小是它的三倍或频率是它的两倍时,您显然无法比较它们。
假设 CPU 足够相似,那么两个 CPU 之间的以下几点必然不如单个多核 CPU 中那样理想:
- 核心之间和 RAM 之间的通道更长(毫米/厘米而不是微米)
- 内存访问需要更多“额外逻辑”
- 原子操作的同步开销更大
- 二级缓存不共享
- 有可能是 NUMA
因此,总而言之,以大致固定速度流动的电流必须经过更长的导线,这需要时间。此外,将线程移至另一个空闲核心并不像在单个或多核 CPU 上那样简单(可能非常昂贵!)。这限制了操作系统利用所有可用资源的能力。
因此,对您的问题的答案是:“不,不一样”。