Linux
在飛行中更改 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
我有 12 個執行緒的 CPU,無論我如何使用這個命令,所有核心仍然照常使用。
它不適用於多執行緒應用程序 - 嘗試添加
-a
到參數列表。-a, --all-tasks Set or retrieve the CPU affinity of all the tasks (threads) for a given PID.