동적으로 변경되는 CPU 선호도에는 결과가 없습니다.

동적으로 변경되는 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)

이 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.

관련 정보