그래서 시스템의 중요한 프로세스에 대한 우선순위와 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 스크립트를 루트로 실행하면 다음과 같은 출력이 표시됩니다(내 시스템의 모든 프로세스에 대해).
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.