Linux

在飛行中更改 CPU 親和力沒有結果

  • February 18, 2022

所以我正在創建自己的腳本來為系統上的重要程序設置優先級和 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

我有 12 個執行緒的 CPU,無論我如何使用這個命令,所有核心仍然照常使用。

它不適用於多執行緒應用程序 - 嘗試添加-a到參數列表。

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

引用自:https://unix.stackexchange.com/questions/691195