KVM CPU 사용량

KVM CPU 사용량

4개의 KVM Linux 게스트가 있는 Linux 호스트가 있습니다. 모든 게스트는 거의 유휴 상태이며 게스트 내부 부하는 <0.1입니다.

이제 top호스트에서 실행하면 각 KVM 프로세스는 CPU의 약 30%를 사용합니다.

이것이 정상적인 행동입니까? 호스트가 유휴 게스트를 호스팅하는 데 더 적은 CPU가 필요하도록 하고 싶습니다.

정상이라면 그 이유는 무엇입니까?

정상이 아니라면 무엇이 문제일까요?

답변1

냉소적으로 이것은 Windows 게스트에게는 "정상"이지만 Linux 게스트에게는 그렇지 않다고 말할 수 있습니다(적어도 이렇게 하는 사람은 본 적이 없습니다).

Windows의 경우 이는 실행 중인 애플리케이션(유휴 상태에 가까움)에 따라 크게 달라집니다. 기본 XP 또는 W2K(아직 KVM의 최신 버전에 대한 경험이 없음)는 호스트에서 10~20%의 문제를 일으키지만(약 0% 표시) MS SQL Server는 쉽게 30% 이상에 도달합니다. 이는 타이머 액세스 및/또는 ACPI와 관련된 것으로 보입니다. 그러나 ACPI가 아닌 VM에서도 호스트의 Windows 성능은 결코 10% 미만으로 떨어지지 않았습니다.

편집 1(통합 설명)

cat /sys/devices/system/clocksource/clocksource0/current_clocksource(게스트에서) 출력은 무엇입니까? 그것은 kvm 시계여야 합니다. CONFIG_PARAVIRT_CLOCK 및 CONFIG_KVM_CLOCK에 대한 커널 구성(/proc/config.gz)을 확인하세요.

이것은KVM과 관련된 커널 구성 옵션 목록.

답변2

KVM 게스트가 호스트의 모든 리소스(CPU, RAM 등)를 활용할 수 있도록 구성되었는지 확인하겠습니다. 일반적으로 KVM 게스트에는 1~2개의 CPU(코어)만 할당되지만 시스템에 더 많은 CPU(코어)가 있을 수 있습니다.

이는 주어진 KVM 게스트의 호스트 리소스와 내부 구조를 볼 때 정확히 동일한 것을 비교하는 것이 아니라는 것을 의미합니다.

예를 들어

집주인은 다음과 같은 점을 가지고 있습니다.

$ lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                12
On-line CPU(s) list:   0-11
Thread(s) per core:    2
Core(s) per socket:    6
CPU socket(s):         1
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 45
Stepping:              7
CPU MHz:               1200.000
BogoMIPS:              6404.04
Virtualization:        VT-x
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              12288K
NUMA node0 CPU(s):     0-11

KVM 게스트 중 한 명이 다음과 같은 상황을 겪었지만:

$ lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                1
On-line CPU(s) list:   0
Thread(s) per core:    1
Core(s) per socket:    1
CPU socket(s):         1
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 6
Stepping:              3
CPU MHz:               3202.024
BogoMIPS:              6404.04
Hypervisor vendor:     KVM
Virtualization type:   full
L1d cache:             32K
L1i cache:             32K
L2 cache:              4096K
NUMA node0 CPU(s):     0

관련 정보