Ami*_*ati 3 python multithreading
我的计算机 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
...
Run Code Online (Sandbox Code Playgroud)
我可以通过multiprocessing.cpu_count()python标准获得内核数。但是我找不到任何方法来通过 python 获取每个内核的线程数。我知道我可以lscpu通过解析 python 中的输出来执行命令并获取线程数。但是有没有标准的解决方案?
小智 5
您可以psutil在python3中使用模块。
python3 -m pip install psutil
Run Code Online (Sandbox Code Playgroud)
该psutil.cpu_count方法返回系统中逻辑 CPU 的数量(与 Python 3.4 中的 os.cpu_count 相同)或 None 如果未确定。逻辑核心数是指物理核心数乘以每个核心上可以运行的线程数(这称为超线程)。如果 logical 为 False,则仅返回物理内核数(不包括超线程 CPU),如果未确定,则返回 None。
import psutil
threads_count = psutil.cpu_count() / psutil.cpu_count(logical=False)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1272 次 |
| 最近记录: |