cpu亲和度

Process.cpu_affinity(cpus=None) - 原文

读写当前CPU亲和度。[CPU亲和度][CPU affinity]包括告诉操作系统仅在一组有限的 CPU 上运行进程(在 Linux 命令行上,通常使用 taskset 命令)。如果没有传递参数,它会以整数列表的形式返回当前的 CPU 亲和性。如果传递参数,它必须是指定新 CPU 关联的整数列表。如果传递空列表,则假定(并设置)所有CPU 都符合条件。在某些系统(例如 Linux)上,所有可用的逻辑CPU并不能用 list(range(psutil.cpu_count())) 代表。

>>> import psutil
>>> psutil.cpu_count()
4
>>> p = psutil.Process()
>>> # get
>>> p.cpu_affinity()
[0, 1, 2, 3]
>>> # set; from now on, process will run on CPU #0 and #1 only
>>> p.cpu_affinity([0, 1])
>>> p.cpu_affinity()
[0, 1]
>>> # reset affinity against all eligible CPUs
>>> p.cpu_affinity([])

可用平台: Linux, Windows, FreeBSD

2.2.0 版本中修改: 新增 FreeBSD 支持.

5.1.0 版本中修改: 可以传递一个空列表来设置所有 CPU 都符合条件。