繁体   English   中英

为什么我的 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()返回逻辑内核的数量,而不是物理内核的数量。 例如,我有一个 Surface pro 7,有 4 个物理内核和 8 个逻辑内核,我的输出是:

>>> print(multiprocessing.cpu_count())
8

是的multiprocessing.cpu_count()os.cpu_count()将返回逻辑处理器。 如果你想分别检查逻辑和物理处理器,你可以使用psutil它们可以如下所示使用。

import psutil

print(psutil.cpu_count(logical = False))
print(psutil.cpu_count(logical = True))

输出将是

2

4

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM