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


12

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

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

편집하다:

게스트를 파라 버트 스토리지 및 네트워크 드라이버와 함께 설치했습니다. 누락 된 다른 드라이버가 있다고 생각하지 않습니다.

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

답변:


4

어떤 버전의 QEMU-KVM을 실행하고 있습니까?

우리는 0.12.3 이하 버전에서이 문제를 보았지만 0.12.4에서는 그다지 큰 문제는 아닌 것 같습니다. 또한 스크린 세이버가 실행 중인지 확인하십시오. VNC 연결을 사용하는 경우 VNC 연결이 실행 중일 수 있으며 CPU 사용률이 VM 내부에 있지 않을 수 있습니다. KVM 프로세스에서 사용됩니다.


1
0.12.3. 0.12.4에서 빌드하고 이것이 사라지는 지 확인합니다.
Jeff Shattock

1
그리고 실제로 그랬습니다. Windows에서 Qemu 0.12.4 가상 CPU 용 드라이버를 찾았으며 게스트 재부팅 후이 문제가 사라졌습니다.
Jeff Shattock

7

내 대답은 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 %로 떨어 뜨 렸습니다.


2
Proxmox의 스레드에는 유용한 정보가 있습니다. Windows VM에서 USB 태블릿 가상 하드웨어를 제거하면 컨텍스트 스위치 수가 줄어 듭니다. 유휴 Windows VM이 20ish % 호스트 CPU에서 5 % 호스트 CPU로 감소했습니다.
Colin 't Hart

고마워, 나를 위해 일했다. 태블릿 가상 장치는 끝없는 인터럽트 요청을 보냈습니다
michaelbn

1

Windows가 새로 설치되었다고해서 백그라운드 프로세스 나 서비스가 실행되지는 않습니다. SNMP 또는 작업 관리자로 Windows 시스템을 모니터링하고 실제로 유휴 상태인지 확인하십시오. Massimo가 말했듯이 게스트 OS 용 pravirtualization 드라이버도 설치해야합니다. 호스트에서 CPU 리소스를 가져 오는 유휴 VM을 본 적이 없습니다.


0

KVM에 대해서는 전혀 알지 못하지만 VMware에서는 가상 시스템에 VMware 도구를 설치하지 않아서 가상화 하드웨어에 적합한 장치 드라이버가없고 넣을 수없는 경우에 발생할 수 있습니다. 실제 유휴 상태 인 가상 CPU (단순한 유휴 루프를 대신 사용함) (실제로 CPU 자체가 완전히 사용 중임).

VM에 설치해야하는 VMware 도구와 비슷한 것이 있습니까?


-2

우선, Windows와 Linux 비교를 중단하거나 동일한 동작을 기대하십시오. 그들은 다르다.

Windows는 유휴 상태 가 아닙니다 . 많은 백그라운드 작업을 실행하며 Win 7에 대한 간단한 경험을 통해 XP보다 더 많은 작업을 수행합니다. 로드를 쉽게하는 데 도움이되는 한 가지는 인덱싱 서비스와 같은 필요한 서비스를 종료하는 것입니다.


1
리눅스는 또한 많은 배경 "서비스"를 실행합니다. 그리고 원래 포스터는 작업 관리자가 Windows 게스트에 사용 된 1-2 % CPU를 표시 함을 확인했습니다.
Colin 't Hart

@Colin, 우리 모두 알고 있듯이 작업 관리자는 CPU로드에 관한 것입니다. 유휴 상태 인 98 %를보고하고로드로 인해 시스템이 여전히 CPU 온도에 완전히 응답하지 않는 것을 누가 보지 못했습니까? 또한 Linux도 백그라운드 작업을 실행하지만 Linux와 Windows는 완전히 다른 동물이라는 점을 잘 알고 있습니다. 서로를 비교하려고하는 사람들은 단순히 그들이 다르다는 것을 받아들이고 각각을 별개의 존재로 취급하는 사람들보다 항상 더 많은 어려움을 겪을 것입니다.
John Gardeniers

1
전혀 말이되지 않습니다.
Colin 't Hart

@Colin, 아마도 이런 종류의 일이 당신의 분야를 벗어나기 때문일 것입니다. 잠시 동안 주변에 있었던 Windows는 CPU로드에 대해 쓴 내용을 이해합니다. Windows와 Linux를 모두 사용하는 사람은 나머지를 이해해야합니다. 같은 분야에서 일하지 않기 때문에 Oracle을 이해하지 못하는 것처럼 실제로 이러한 것들을 이해하기를 기대하지 않습니다.
John Gardeniers

내가 같은 분야에서 일하지 않는 이유는 무엇입니까?
Colin 't Hart
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.