动态更改 CPU 关联性没有任何结果

动态更改 CPU 关联性没有任何结果

所以我正在创建自己的脚本来为系统上的重要进程设置优先级和CPU亲和力,并且我尝试使用taskset命令,但它似乎什么也没做。

这是示例:

import psutil
import os
import sys

for proc in psutil.process_iter():
    command = "taskset -cp 0 "+str(proc.pid)
    os.system(command)

我以 root 身份运行这个 python 脚本,它给出如下输出(对于我系统上的每个进程):

pid 5893's current affinity list: 0,1
pid 5893's new affinity list: 0

我的 CPU 有 12 个线程,无论我如何使用此命令,所有内核仍然照常使用。

答案1

它不适用于多线程应用程序 - 尝试添加-a到参数列表中。

       -a, --all-tasks
           Set or retrieve the CPU affinity of all the tasks (threads) for a given PID.

相关内容