VM이 일시 중지 될 때 Virtualbox가 15-20 %의 CPU를 사용하는 이유는 무엇입니까?


10

Win XP 게스트와 함께 Ubuntu에서 VirtualBox 3.1을 실행합니다. VM을 일시 중지하면 (화면이 회색으로 표시됨) VirtualBox가 호스트 CPU의 15-20 %를 계속 사용한다는 사실에 놀랐습니다.

이것이 정상적인 행동입니까?

그것을 피할 수있는 방법이 있습니까? (VM 상태를 저장하지 않고 VirtualBox를 종료하지 않고)

통찰력을 가져 주셔서 감사합니다!

~ 라라

답변:


8

항상 VirtualBox CPU 사용량을 줄이려면이 이상한 핵에 의존하십시오.

새 가상 머신을 작성하고 운영 체제를 설치하지 마십시오. VirtualBox에 DOS를 실행하고 절대적인 최소 리소스를 제공하도록 지시하십시오. O / S를 설치하지 마십시오. 실행시 부팅시 오류가 발생하고 최소화하십시오.

두 번째 VM에서 실제 O / S를 실행하는 동안 유휴 Virtualbox CPU 사용률이 3-5 %로 떨어집니다.

jed4czar의 아이디어 : http://ubuntuforums.org/showthread.php?s=58e862a814e65eb96f8fe8389b615366&t=838073&page=2

편집 : 질문에 직접 대답

VM이 일시 중지 될 때 Virtualbox가 15-20 %의 CPU를 사용하는 이유는 무엇입니까?

버그입니다. 제공된 해킹을 사용하지 않는 한 하나의 VM이 작동하면 항상 필요한 것보다 15-20 % 더 많은 CPU를 사용합니다.

그것을 피할 수있는 방법이 있습니까?

위의 핵을 참조하십시오.


알아두면 좋을 것입니다. vbox는 시작시 사용 가능한 CPU 소스를 할당합니다
— Diskilla

ooooh 그것은 나를 위해 그것을 고쳤다! 정말 고마워 정보를 위해, 나는 Windows 8.1을 실행 중이며 VM은 centos이며 유휴 시간에는 약 15 % CPU가 소비되고 있습니다. VBox v4.3.12
— Sebas

놀라운 것은 여전히 ​​문제입니다.
— kmarsh

4

위에서 설명한 DOS VM으로 해킹을 시도했지만 성공하지 못했습니다 (OS X가 설치된 MacBook Pro에서 Ubuntu 12.04 게스트 실행). 또한 Oracle thread에 언급 된 커널 매개 변수 변경을 시도했지만 변경 사항이 없습니다. 내가 무엇을하든 내 손님은 각각 15-20 %의 CPU를 먹는 것처럼 보였습니다. 그러나 2 개의 CPU를 할당 한 게스트가 15-20 %를 씹지 않는 것으로 나타났습니다. 예상대로 작동했습니다.

물론 다른 CPU를 2 CPU로 전환하면 문제가 사라졌습니다. 이전의 경험에서 볼 때, 2 개의 CPU로 전환하면 마더 보드 섹션에서 IO APIC 옵션도 활성화되므로 실제로 흥미로운 변화라고 생각했습니다. 즉, 이것은 :

IOAPIC 사용

이 설정을 변경하려면 기기를 종료해야합니다. 그렇지 않으면 회색으로 표시됩니다. 게스트에서이 기능을 활성화하고 다시 시작한 후에 CPU가 하나 이상 있어도 CPU 사용률이 15 ~ 20 % 떨어져도 문제가되지 않으므로 여기에서 솔루션을 공유하겠다고 생각했습니다.


1

VM에서 Oracle 5를 실행하는 Windows 7 Quad 상자에서 동일한 문제가 발생했습니다.

Adam의 조언에 따라 Enabled IO APIC 옵션을 확인했지만 아무 소용이 없습니다. 그래서 kmarsh의 아이디어를 따랐는데, 시도하는데 1 분도 걸리지 않았으며 프로세서 사용량은 15-20 %에서 4-5 %로 줄었습니다.

사용 된 설정은 이름 : Memory Hack, 유형 : 기타, 버전 : DOS입니다. 메모리 크기 : 4MB, 하드 드라이브 : 가상 하드 드라이브를 추가하지 마십시오. [만들기]를 클릭하십시오. VM을 시작하면 시동 디스크가 필요합니다. 호스트 드라이브 'D :'를 사용하고 [시작]을 클릭하십시오. 가상 머신 상태 : "FATAL : 부트 매체에서 읽을 수 없습니다! 시스템이 정지되었습니다." 그 시점에서 CPU 사용량이 감소하여 창을 최소화했습니다. 두 번째 VM을 시작해도 아무런 차이가 없습니다.


이 문제는 너무 복잡해서 아무도 조정할 수 없습니다.
— kmarsh

0

CentOS 5.5 호스트를 실행하는 3gigs ram이있는 2-cpu P4 시스템에서이 VirtualBox 문제가 발생했습니다.

64 비트 Win7을 실행하는 8 기가있는 i720 8cpu 컴퓨터 에서이 문제가 발생하지 않았습니다. 3 개의 VMWare 가상 머신과 VirtualBox를 모두 2 기가 메모리로 실행했으며 CPU 문제가 전혀 없었습니다.

이것은 "작은"기계 나 Linux 호스트에서 실행하는 것이 문제임을 시사합니다.

솔루션이 잘 작동했습니다.

이 이전 게시물은 1 년 전이며 내 VirtualBox는 최신 버전 4.0.4이므로 Oracle은이 버그를 아직 수정하지 않았습니다.


2
이 성능 저하는 최신 CPU에 VT-x가 있고 하드웨어 지원 가상화를 허용하는 것과 관련이 있기 때문에 VirtualBox 프로그램이 작업을 수행하지 않으므로 CPU 사용량이 낮아질 것입니다. P4에는 VT-x 기술이 없을 것이므로 소프트웨어를 통해 시스템 호출을 변환하고 더 많은 CPU를 사용해야합니다.
— Mokubai

이것은 지금까지 수정되었을 것입니다. 게스트를 일시 중지 할 때 VirtualBox v4.3.6을 실행하는 Ubuntu 호스트 및 XP 게스트를 사용하면 CPU 사용량이 1 % 줄어 듭니다
— Seeker

0

다른 답변은 나를 위해 버그를 설명하거나 수정하지 않습니다 (데비안 호스트, 일시 중지 된 우분투 게스트). 오라클에는 다음과 같은 섹션이 있습니다.

일부 Linux 게스트는 게스트 시스템이 유휴 상태 인 경우에도 높은 CPU로드를 유발할 수 있습니다. 게스트 커널의 타이머 빈도가 높기 때문일 수 있습니다. Fedora와 같은 일부 Linux 배포판은 1000Hz의 타이머 주파수로 구성된 Linux 커널을 제공합니다. 게스트 커널을 다시 컴파일하고 타이머 주파수 100Hz를 선택하는 것이 좋습니다.

CentOS 및 Oracle Linux와 같은 관련 Linux 배포판의 커널뿐만 아니라 Red Hat Enterprise Linux와 함께 제공되는 Linux 커널은 커널 매개 변수 divider = N을 지원합니다. 따라서 이러한 커널은 재 컴파일없이 더 낮은 타이머 주파수를 지원합니다. 커널 매개 변수 divider = 10을 추가하여 게스트 커널 타이머 주파수 100Hz를 선택하는 것이 좋습니다.

출처 : Linux 게스트가 높은 CPU로드를 유발할 수 있음

당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.