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.