기본적으로 특정 프로세스에 더 높은 우선순위를 할당합니다.

기본적으로 특정 프로세스에 더 높은 우선순위를 할당합니다.

특정 프로그램 실행을 시작할 때마다(이 프로그램의 해당 프로세스 실행) 해당 프로세스에 높은 우선 순위가 할당되도록 데스크탑 Linux 시스템을 구성하고 싶습니다. 어떻게 해야 하나요?

나는 프로그램을 실행하는 각 인스턴스, 즉 특정 프로세스에 대해 개별적으로 그렇게 할 수 있다는 것을 알고 있습니다. 하지만 프로그램(예: 향후 모든 프로세스)의 기본값을 구성하는 방법은 무엇입니까?

커널 버전: 4.10.11-200.fc25.x86_64

답변1

"라는 프로그램이 있습니다.자동 좋은 데몬"를 수행합니다. 백그라운드에서 실행되며 특정 패턴과 일치하는 프로세스가 프로세스 테이블에 나타나면 자동으로 niceness를 설정합니다.

이것을 사용할 수 있습니다. 그러나 Linux 스케줄러는 균형을 잡아야 할 부분이 많고 우선 순위를 높이더라도 반드시 마법처럼 속도가 향상되는 것은 아니기 때문에 약간 실망할 수도 있습니다. 상황이 발생하는 경우도 있습니다.더 나쁜, 우선 순위가 높은 프로세스가 애플리케이션이 앞으로 나아갈 때 실제로 의존할 수 있는 우선 순위가 낮은 프로세스를 "고갈"시킬 수 있기 때문입니다.

대신에 다음과 같은 것을 볼 수 있습니다.조정된에는 다양한 워크로드에 대한 성능 프로필이 있습니다.또는, 모험심이 있다면 다음을 볼 수 있습니다.Con Kolivas 데스크탑 스케줄러 패치, 데스크톱 경험 최적화를 목표로 합니다. 이는 측정하기가 정말 어렵고 다소 논란의 여지가 있습니다. 많은 사람들이 이에 대해 맹세하는 반면 다른 사람들은 회의적입니다. (최신 반복에 대한 Linux Weekly News 기사가 있습니다.MuQSS CPU 스케줄러— 현재 페이월이 적용되어 있지만 5월 4일에 무료로 제공될 예정입니다.)

답변2

당신은 조사하고 싶을 것입니다멋진그리고레니스유용. 프로세스에 더 높은 CPU 우선순위를 부여하려면 루트/Sudo 권한이 있어야 합니다. 를 사용하여 nice더 높은 우선순위로 프로세스를 시작하거나 renice나중에 더 높은 우선순위로 변경할 수 있습니다 .

(terminal1):~# nice -n -10 sleep 100
(terminal2):~# top -b -n1 | grep sleep
23580 root      10 -10    4508   1244   1156 S 0.000 0.008   0:00.00 sleep
(terminal1):~# sleep 100
(terminal2):~# top -b -n1 | grep sleep
23888 root      20   0    4508   1316   1228 S 0.000 0.008   0:00.00 sleep
(terminal2):~# renice -n -10 23888
23888 (process ID) old priority 0, new priority -10
(terminal2):~# top -b -n1 | grep sleep
23888 root      10 -10    4508   1356   1268 S 0.000 0.008   0:00.00 sleep

관련 정보