18.8. 가상 머신 성능 모니터링 툴
가장 많은 VM 리소스를 소비하는 것과 VM 성능의 최적화가 필요한 측면을 확인하기 위해 일반 및 VM 관련 성능 진단 툴을 사용할 수 있습니다.
기본 OS 성능 모니터링 툴
표준 성능 평가를 위해 호스트 및 게스트 운영 체제에서 기본적으로 제공하는 유틸리티를 사용할 수 있습니다.
RHEL 9 호스트에서 root로
상위
유틸리티 또는 시스템 모니터 애플리케이션을 사용하고 출력에서qemu
및virt
을 찾습니다. 이는 VM에서 사용하는 호스트 시스템 리소스의 양을 보여줍니다.-
모니터링 툴에서
qemu
또는virt
프로세스가 호스트 CPU 또는 메모리 용량의 많은 부분을 사용하도록 표시되면perf
유틸리티를 사용하여 조사합니다. 자세한 내용은 아래를 참조하십시오. -
또한, 예를 들어
vhost_net
-1234 에 대해 이름이 지정된 vhost_net 스레드 프로세스가 과도한 양의 호스트 CPU 용량을 사용하는 것으로 표시되면다중 대기열 virtio-net
과 같은 가상 네트워크 최적화 기능을 사용하는 것이 좋습니다.
-
모니터링 툴에서
게스트 운영 체제에서는 시스템에서 사용 가능한 성능 유틸리티와 애플리케이션을 사용하여 가장 많은 시스템 리소스를 사용하는 프로세스를 평가합니다.
-
Linux 시스템에서는
top
유틸리티를 사용할 수 있습니다. - Windows 시스템에서는 작업 관리자 애플리케이션을 사용할 수 있습니다.
-
Linux 시스템에서는
perf kvm
perf
유틸리티를 사용하여 RHEL 9 호스트의 성능에 대한 가상화 관련 통계를 수집하고 분석할 수 있습니다. 이렇게 하려면 다음을 수행합니다.
호스트에서 perf 패키지를 설치합니다.
dnf install perf
# dnf install perf
Copy to Clipboard Copied! Toggle word wrap Toggle overflow perf kvm stat
명령 중 하나를 사용하여 가상화 호스트에 대한 perf 통계를 표시합니다.-
하이퍼바이저를 실시간 모니터링하려면
perf kvm stat live
명령을 사용합니다. -
일정 기간 동안 하이퍼바이저의 perf 데이터를 기록하려면
perf kvm stat record
명령을 사용하여 로깅을 활성화합니다. 명령이 취소되거나 중단된 후 데이터는perf kvm stat report
명령을 사용하여 분석할 수 있는perf.data.guest
파일에 저장됩니다.
-
하이퍼바이저를 실시간 모니터링하려면
VM-EXIT
이벤트 유형과 해당 배포에 대한perf
출력을 분석합니다. 예를 들어PAUSE_INSTRUCTION
이벤트는 자주 발생하지 않아야 하지만 다음 출력에서는 호스트 CPU가 실행 중인 vCPU를 잘 처리하지 않음을 시사합니다. 이러한 시나리오에서는 활성 VM 중 일부를 종료하거나 이러한 VM에서 vCPU를 제거하거나 vCPU의 성능을 조정하는 것이 좋습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow perf kvmstat
의 출력에서 문제를 신호할 수 있는 기타 이벤트 유형은 다음과 같습니다.-
INSN_EMULATION
- 하위 VM I/O 구성 을 제안합니다.
-
perf
를 사용하여 가상화 성능을 모니터링하는 방법에 대한 자세한 내용은 시스템의 perf-kvm
도움말 페이지를 참조하십시오.
numastat
시스템의 현재 NUMA 구성을 보려면 numactl 패키지를 설치하여 제공하는 numastat
유틸리티를 사용할 수 있습니다.
다음은 4개의 실행 중인 VM이 있는 호스트를 나타내며 각각 여러 NUMA 노드에서 메모리를 가져옵니다. 이는 vCPU 성능에 최적이 아니며 조정을 보장합니다.
반면, 다음에서는 단일 노드에서 각 VM에 제공되는 메모리를 보여줍니다. 이는 훨씬 더 효율적입니다.