我的计算机 CPU 有 4 个内核,每个内核有 2 个线程,我可以通过 lscpu
获得它命令:
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
Address sizes: 48 bits physical, 48 bits virtual
CPU(s): 4
On-line CPU(s) list: 0-3
Thread(s) per core: 2
...
我可以通过 multiprocessing.cpu_count()
获得内核数 python 标准。但我找不到任何方法来通过 python 获取每个核心的线程数。我知道我可以执行 lscpu
命令并通过解析python中的输出来获取线程数。但是有没有标准的解决方案?
最佳答案
您可以使用 psutil
python3中的模块。
python3 -m pip install psutil
psutil.cpu_count
方法返回系统中逻辑 CPU 的数量(与 Python 3.4 中的 os.cpu_count 相同),如果未确定,则返回 None。逻辑核心是指物理核心的数量乘以每个核心上可以运行的线程数(这称为超线程)。如果逻辑为 False,则仅返回物理内核数(不包括超线程 CPU),如果未确定,则返回 None。import psutil
threads_count = psutil.cpu_count() / psutil.cpu_count(logical=False)
关于python - 如何在python中获取每个核心的线程数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62652951/