유휴 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.