가상화된 게스트와 호스트 CPU 사용량

가상화된 게스트와 호스트 CPU 사용량

하이퍼바이저로 kvm과 함께 qemu를 사용하고 있습니다. 저는 우분투 호스트에서 젠투 게스트를 운영하고 있습니다. 게스트에게 단일 프로세서가 제공됩니다.

컴퓨팅 집약적인 작업(예: 빈 루프)을 실행하면 게스트와 호스트 모두에서 CPU 사용량이 거의 100%에 이릅니다. 그러나 고해상도 비디오(1080p)를 재생할 때 게스트는 최대 100%의 CPU 사용량을 표시하는 반면 호스트는 약 30-40%의 평균 CPU 사용량만 표시하는 것을 볼 수 있습니다. 이 문제의 원인이 무엇인지 궁금합니다.

프로세스가 디스크 바인딩된 경우 비디오를 주 메모리로 가져왔기 때문에 비디오를 두 번째 실행하면 호스트-게스트 CPU 사용량 비율이 향상되었을 것이라고 생각합니다(비디오는 약 1분, 40MB입니다). 게스트 램은 4GB입니다. 그러나 그런 일은 일어나지 않습니다. 그렇다면 CPU 사용량에 이러한 차이가 발생하는 원인은 무엇입니까?

vlc가 H264 비디오를 처리하는 방법을 완전히 이해하지 못합니다. 컴퓨터 속도 저하로 인해 프레임이 삭제되고 있다고 보고됩니다. 내 유일한 추측은 아마도 qemu가 기다리는 그래픽 카드가 관련되어 있고 게스트는 이러한 대기를 인식하지 못한다는 것입니다.

내 호스트 컴퓨터에는 24GB의 RAM이 있는 12개의 코어가 있습니다.

편집하다 :

문제는 가상 머신 실행과 관련이 없습니다. SSH를 통해 테스트 머신에 액세스하고 있었기 때문이었습니다. X11 전달로 인해 qemu 프로세스의 성능이 크게 저하되었습니다. 아마도 이는 printf 문이 너무 많으면 일반 프로그램이 느려지는 것과 유사할 것입니다. 제 경우에는 네트워크에 병목 현상이 발생했습니다.

관련 정보