为什么我的CPU核心数是2,但是用multiprocessing.cpu_count()得到4?
Why my CPU core number is 2, but use multiprocessing.cpu_count() get 4?
在我的 Mac 中:MacBook Pro(Retina,13 英寸,2015 年初)
有CPU信息:
Model: MacBook Pro
Model description: MacBookPro12,1
CPU name: Dual-Core Intel Core i5
CPU rate: 2.7 GHz
CPU number: 1
Core number: 2
当我使用Python时执行代码:
from multiprocessing import cpu_count
print(cpu_count()) # 4
有输出4
.
为什么不是 2 个?
我认为multiprocessing.cpu_count()
returns逻辑核心的数量,而不是物理核心。比如我有一台surface pro 7,4个物理核心,8个逻辑核心,我的输出是:
>>> print(multiprocessing.cpu_count())
8
是 multiprocessing.cpu_count()
和 os.cpu_count()
将 return 逻辑处理器。如果您想分别检查逻辑处理器和物理处理器,您可以使用 psutil
它们的用途如下所示。
import psutil
print(psutil.cpu_count(logical = False))
print(psutil.cpu_count(logical = True))
输出将是
2
4
在我的 Mac 中:MacBook Pro(Retina,13 英寸,2015 年初)
有CPU信息:
Model: MacBook Pro
Model description: MacBookPro12,1
CPU name: Dual-Core Intel Core i5
CPU rate: 2.7 GHz
CPU number: 1
Core number: 2
当我使用Python时执行代码:
from multiprocessing import cpu_count
print(cpu_count()) # 4
有输出4
.
为什么不是 2 个?
我认为multiprocessing.cpu_count()
returns逻辑核心的数量,而不是物理核心。比如我有一台surface pro 7,4个物理核心,8个逻辑核心,我的输出是:
>>> print(multiprocessing.cpu_count())
8
是 multiprocessing.cpu_count()
和 os.cpu_count()
将 return 逻辑处理器。如果您想分别检查逻辑处理器和物理处理器,您可以使用 psutil
它们的用途如下所示。
import psutil
print(psutil.cpu_count(logical = False))
print(psutil.cpu_count(logical = True))
输出将是
2
4