유휴 Windows VM이 너무 많은 CPU를 사용하는 이유는 무엇입니까?

유휴 Windows VM이 너무 많은 CPU를 사용하는 이유는 무엇입니까?

Ubuntu 10.04에서 실행되는 KVM 가상화 플랫폼에 게스트로 실행되는 2개의 VM이 있습니다. 한 VM은 Ubuntu 10.04 시스템이고 다른 VM은 Windows 7 시스템입니다. 상단에 따르면 두 컴퓨터가 완전히 로그아웃되면 Linux 컴퓨터는 1% CPU를 사용하고 Windows 컴퓨터는 45-50%를 사용합니다. virt-manager의 그래프가 이를 뒷받침하는 것 같습니다. 백그라운드에서 실행되는 Win7 이미지에는 아무것도 설치되어 있지 않습니다. 최대한 신선합니다.

둘 다 로그아웃되고 유휴 상태일 때 Windows VM이 Linux VM보다 훨씬 더 많은 것을 사용하는 이유는 무엇입니까?

편집하다:

처음부터 paravirt 스토리지와 네트워크 드라이버를 사용하여 게스트를 설치했습니다. 제가 놓친 다른 운전자가 없다고 생각합니다. 제가 틀렸나요?.

게스트의 작업 관리자에 따르면 실제로 유휴 상태입니다. Taskman은 게스트 CPU의 약 1~2%를 차지하지만 CPU 시간을 차지하는 다른 프로세스는 없습니다.

답변1

어떤 버전의 QEMU-KVM을 실행하고 있나요?

이 문제는 0.12.3 이하 버전에서 나타났지만 0.12.4에서는 큰 문제가 되지 않는 것 같습니다. 또한 화면 보호기가 실행 중인지 확인하세요. VNC 연결을 사용하는 경우 그곳에서 실행 중일 수 있으며 CPU 사용률은 VM 내부에 있지 않습니다. KVM 프로세스에서 사용하게 됩니다.

답변2

내 대답은 100년 후에 나온다는 것을 알고 있지만 나중에 참고하려면 여기를 참조하세요.

http://forum.proxmox.com/threads/5770-Windows-guest-high-context-switch-rate-when-idle

그렇다면 해결책은 다음과 같습니다. http://support.microsoft.com/kb/895980

x86_64 kvm 호스트의 Win2K3 R2 게스트 CPU 사용량(게스트가 유휴 상태일 때)을 ~30%-40%에서 6%로 줄였습니다.

답변3

KVM에 대해 전혀 모르지만 VMware에서는 가상 머신에 VMware 도구를 설치하지 않아 가상화된 하드웨어에 적합한 장치 드라이버가 없고 설치할 수 없는 경우 이런 일이 발생할 수 있습니다. 가상 CPU는 실제로 아무 것도 하지 않을 때 대신 간단한 유휴 루프를 사용합니다(실제로는 CPU가 자체적으로 완전히 바쁜 루핑에 해당함).

VM에 설치해야 하는 VMware 도구와 유사한 것이 있을까요?

답변4

우선, Windows와 Linux를 비교하거나 둘이 동일하게 작동할 것이라고 기대하지 마십시오. 그들은 다르다.

윈도우는절대게으른. 많은 백그라운드 작업을 실행하며 Win 7에 대한 간략한 경험으로 볼 때 XP보다 더 많은 작업을 수행합니다. 로드를 완화하는 데 도움이 되는 한 가지 방법은 인덱싱 서비스와 같은 필수 서비스를 종료하는 것입니다.

관련 정보