それで、システムの重要なプロセスの優先順位とCPUの好みを設定するために独自のスクリプトを作成し、tasksetコマンドを使用してみましたが、何の効果もないようです。
例は次のとおりです。
import psutil
import os
import sys
for proc in psutil.process_iter():
command = "taskset -cp 0 "+str(proc.pid)
os.system(command)
このPythonスクリプトをrootとして実行すると、次の出力が表示されます(私のシステムのすべてのプロセスについて)。
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.