linux_kernel 데스크탑의 Renicing X 서버 및 구성 관리자(kwin과 유사)

linux_kernel 데스크탑의 Renicing X 서버 및 구성 관리자(kwin과 유사)
  • 오래 전(2.6 커널 이전) 매우 낮은 수준의 데스크탑에서 나는 행복하게 따라왔습니다.Con Kolivas는 X 서버의 튜닝(약간 과중(-10))을 권장합니다.(더 나은 반응성을 위해)
  • 최신 커널, 최신 스케줄러 및 SMP 시스템을 사용하면 많은 사람들이 1 + 또는 -를 변경하더라도 기본 Nice 값은 "시스템의 다른 부분이 매우 명백한 방식으로 영향을 받도록 만듭니다.”.기본 상태로 돌아왔습니다.
  • 더 이상 이것을 따르지 않은 후 최근에 /usr/bin/X (1.20.8)가 시작되었다는 사실에 놀랐습니다.-nolisten tcp -keeptty :0 -auth 어쩌구 저쩌고-1이라는 적절한 값으로 실행됩니다. (*1)

질문 1:이제 이것이 기본 nice 값으로 SCHED_OTHER 작업을 주로 실행하는 데스크탑에 최적인 것으로 간주됩니까(-1의 nice 값으로 X 서버 실행)?
아래 *1은 모든 상황(클라이언트, 하드웨어, 커널, CPU 고정...)에 관계없이 최선의 선택은 아닐지라도 freedesktop의 의도적인 의도임을 매우 이상한 방식으로 나타냅니다.

Q2:X 서버가 구현하는 데 사용되는 대부분의 구현을 나타내는 창/복합 관리자(kwin_x11)도 실행하고 있다는 점을 고려하면 함께 제공되는 renice를 고려해야 합니까? X-서버는 몇 개 있나요? (X는 kwin_x11의 평균 1.5 CPU 시간을 소비합니다.) (*2)

Q3:비자발적 컨텍스트 전환의 상대 값을 기반으로 X/kwin_x11의 좋은 상대 값을 기반으로 하는 것이 적절합니까? (kwin_x11은 X보다 약 30배 더 많은 비자발적 컨텍스트 전환을 가집니다(일부 일반적인 데스크탑 작업 부하 동안))


Q4:보다 일반적으로 클라이언트/서버 SCHED_OTHER 세계에서 서버와 클라이언트 애플리케이션 사이의 상대적으로 좋은 값에 대한 경험 법칙이 있습니까? 그리고 이 특별한 경우(X 서버/X 클라이언트)를 고려할 때 대부분의 경우 클라이언트가 서버 가용성을 기다릴 것이라고 가정할 수 있습니까?
또한 kwin_X11이 충분한 CPU 시간을 수신하지 못하는 최악의 결과는 프레임 손실이라고 가정할 수 있습니다. 따라서 일부 X 클라이언트가 정기적으로 X fps를 출력할 수 있도록 하고 kwin_X11이 때때로 몇 프레임을 삭제하도록 하는 것은 말도 안 되는 일이겠습니까?


5분 동안 일부 일반적인 데스크탑 워크로드를 실행하는 데이터:

X(nice-1)ucs:1525/kwin ucs(nice0)51834(gt=53359
)


*1:내가 아는 한시니트코드에서 xinit(부모)는 나중에 서버를 실행할 자식을 포크한 후 (`setpriority(PRIO_PROCESS, serverpid, -1); startserver 프로세스의 일부)를 담당합니다.
실제로... 그냥 ...다음 설명 뒤에 있습니다.서버가 별로 좋지 않네요???이것은 정말 혼란을 가중시킵니다.

*2:알아요미친일부 실시간 스케줄링 모델이 마음에 들지 않는다면(제 생각에는 현명하지 못한 일입니다(*3)). 이는 kwin을 심각하게 거부할 것입니다(-10). 안타깝게도 이러한 조정에 대한 이유가 제시되지 않았으며 해당 규칙은 상당히 오래되었으며(2018년) kwin은 그 이후로 수많은 변경을 수행했습니다.

*삼:적어도 kwin_X11에 관한 한, 내가 올바르게 이해했다면 X 서버는 여전히 입력을 관리하고 있습니다.

관련 정보