GUI 애플리케이션이 있고 다른 X 서버에서 테스트를 실행하여 병렬로 테스트하고 싶습니다. 이를 위해 Xephyr 또는 Xvnc를 사용하여 애플리케이션을 시작한 다음 스크립트를 실행하여 테스트하면 작동합니다.
제가 겪고 있는 문제는 Xephyr/Xvnc에서 GUI 애플리케이션을 실행할 때 CPU 소비가 매우 높아서 CPU 제한으로 인해 여러 테스트를 병렬로 실행할 수 없다는 것입니다.
GUI 애플리케이션을 실행하고 htop을 사용하여 CPU 사용량을 확인하면 CPU%가 10~50% 정도 표시됩니다. Xepyr 또는 Xvnc를 사용하여 동일한 애플리케이션을 실행하면 CPU%가 약 200~250%(4개 CPU 기준)로 표시됩니다.
Xephyr/Xvnc 자체는 오버헤드를 많이 추가하지 않는 것으로 보이지만 Xephyr/Xvnc 서버 내에서 실행되는 GUI 응용 프로그램은 평소보다 5배 더 많은 CPU를 소비하는 것으로 보입니다. 이유/해결책이 있나요?
답변1
몇 가지 검색 끝에 문제와 해결책을 찾았습니다. 문제는 해당 애플리케이션이 Xepyr이 제공하지 않는 그래픽 가속기를 사용한다는 것입니다. 이것이 없으면 CPU는 평소보다 더 많은 작업을 수행하기 시작합니다.
해결책은 virtualgl을 설치하고 vglrun
명령을 사용하여 호출하기 전에 Xephyr 내에서 애플리케이션을 실행하는 것입니다.