Linux 커널이 대화형 프로그램의 우선순위를 지정하지 않는 이유는 무엇입니까?

Linux 커널이 대화형 프로그램의 우선순위를 지정하지 않는 이유는 무엇입니까?

나는 100%에서 실행될 때 오랜 시간이 걸릴 것으로 예상되는 백그라운드 작업(예: 컴파일 또는 이메일 다운로드)을 종료할 때까지 GNOME과 같은 것의 반응이 느려지는 것을 발견했습니다. Linux 커널이 실시간 응답이 필요한 프로그램에 더 높은 우선순위를 부여하지 않는 이유는 무엇입니까?

그런데 저는 Fedora를 새로 설치하여 커널 버전 4.0을 실행하고 있습니다.

답변1

나는 이것이 대화형 프로그램에 우선순위를 부여한다고 생각하지만 아마도 충분하지 않을 수도 있습니다. 프로그램은 실행 시간이 길어질수록 우선 순위를 잃으며, 비대화형 프로그램은 대화형 프로그램보다 우선 순위를 더 빨리 잃습니다.

CPU 사용량이 100%에 가깝게 실행되어서는 안 되며, 그렇다면 몇 가지 사항을 확인해야 할 수도 있습니다.

프로그램의 우선순위에 영향을 미치는 두 가지 요소는 초기의 양호한 값과 사용된 스케줄러입니다. Nice를 사용하면 특정 프로그램(예: 과도한 컴파일 작업)의 우선순위를 낮출 수 있습니다. 루트는 nice를 통해 프로그램에 더 높은 우선순위를 제공할 수도 있습니다. 스케줄러는 프로그램이 CPU를 얼마나 "호깅"할 수 있는지와 다른 프로세스를 선점할 수 있는 시기를 결정합니다. 여기서 프로세스에는 "실시간" 우선순위가 부여될 수 있습니다. 즉, 다른 프로세스보다 먼저 실행된다는 의미입니다.

문제는 시스템을 묶는 것이 무엇인지 모른다는 것입니다. 어쩌면 GNOME은 디스크에서 기다려야 하는 일부 하위 프로세스를 기다려야 하기 때문에 느릴 수도 있습니다. 어쩌면 그래픽 카드가 협력하지 않아 GNOME이 그래픽 소프트웨어를 사용하여 렌더링되어야 할 수도 있습니다... 왜냐하면 단지 GNOME에 더 나은 가치를 제공하기 때문입니다. 및/또는 다른 예약 정책으로 인해 시스템 속도가 느려질 수 있습니다. 그 이유는 GNOME이 기다리고 있는 것(예: 디스크 액세스)이 이제 GNOME에 의해 선점되어 이전보다 느리게 실행될 수 있기 때문입니다.

문제가 어디에 있는지 파악한 후에는 X 및/또는 GNOME에 더 나은 이점 및/또는 일정을 제공할 수 있지만 너무 걱정하지 마십시오. 예를 들어 -5 또는 -를 사용하는 중요한 시스템 데몬이 있습니다. 10 nice 값 실행 중(음수 값 = 더 높음/더 나은 우선순위), 갑자기 GNOME에 -18이라는 nice 값을 제공한다고 해서 이를 선점해서는 안 됩니다.

관련 정보