CPU 및 I/O 측면에서 X 애플리케이션의 우선순위에 집중할 수 있는 방법이 있습니까?
모든 X 응용 프로그램과 마찬가지로 우선 순위는 낮아지지만 초점을 얻으면 정상 수준으로 돌아갑니다.
나는 바퀴를 재발명하고 싶지 않기 때문에 누군가 이미 이 작업을 수행하는 앱을 개발했으면 좋겠습니다.
답변1
귀하의 요청을 수행하기 위해 Perl로 작은 스크립트를 작성했습니다. http://pastie.org/3460943
"xlsclients -l" 명령을 사용하여 현재의 모든 X11 창 ID를 가져온 다음 xprop를 사용하여 창의 PID를 가져오는 방식으로 작동합니다. 그런 다음 xprop -root를 사용하여 현재 초점이 맞춰진 창을 가져온 다음 모든 PID를 반복하여 nice 값을 5로 변경합니다(현재 초점이 맞춰진 창은 0으로 유지).
그런 다음 무한 루프에 들어가 2초마다 포커스 창을 다시 확인합니다. 창 포커스가 변경되면 이전 창의 좋음 값이 5로 변경되고 새 창의 좋음 값이 0으로 변경됩니다. 또한 새로운 프로세스의 우선순위를 지정하기 위해 40초마다 첫 번째 세그먼트에서 수행된 작업을 다시 실행합니다.
이 스크립트에는 몇 가지 결함이 있으며 그 중 가장 분명한 것은 xprop가 때때로 현재 초점을 맞춘 창을 찾지 못한다는 것입니다(이는 창 사이를 매우 빠르게 전환하는 경우에만 발생하는 것 같습니다.) 또한 네트워크 위치에서 창을 실행하는 경우 PID가 시스템의 실제 PID와 관련이 없을 수도 있는 것 같습니다. 즉, 평균적으로 스크립트는 작동합니다(Perl은 일부 오류를 처리하고 계속 실행될 수 있음).
저도 c로 작성하면 더 빠를 것 같은데 X11 라이브러리를 사용할 능력이 없어서 bash로 채워진 perl입니다!