所以我正在创建自己的脚本来为系统上的重要进程设置优先级和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.