4장. 실시간 가상 머신 설정
RHEL 9 for Real Time 게스트 운영 체제가 있는 VM(가상 머신)을 설정하려면 VM을 생성하고, 게스트를 구성하고, VM의 성능을 최적화하고 테스트해야 합니다.
4.1. 실시간 가상 머신에 vCPU 고정 최적화 링크 복사링크가 클립보드에 복사되었습니다!
RHEL 실시간(RT) 가상 머신(VM)을 올바르게 설정하려면 먼저 VM의 가상 CPU(vCPU)를 호스트의 물리적 CPU에 최적으로 고정할 계획이 있어야 합니다.
사전 요구 사항
- 실시간 가상화를 위한 호스트 시스템을 설정했습니다. 자세한 내용은 실시간 가상 머신의 호스트 환경 구성을 참조하십시오.
hwloc패키지가 설치되어 있습니다.# dnf install hwloc- 이후 확인을 위한 기준선을 얻기 위해 VM의 성능을 평가했습니다. 이를 수행하는 다양한 방법은 가상 머신 성능 모니터링 툴 을 참조하십시오.
프로세스
호스트 시스템의 CPU 토폴로지를 확인합니다.
# lstopo-no-graphics다음 예제 출력에서는 하이퍼 스레딩이 활성화된 32개의 물리적 코어가 있는 시스템을 보여줍니다. 2개 소켓("패키지")으로 나뉩니다. 또한 시스템에는 NUMA 노드 2개에서 250GB의 RAM이 분할되어 있습니다.
이 절차의 다음 예제는 이 토폴로지를 기반으로 합니다.
Machine (250GB total) Package L#0 NUMANode L#0 (P#0 124GB) Die L#0 + L3 L#0 (16MB) L2 L#0 (1024KB) + L1d L#0 (32KB) + L1i L#0 (32KB) + Core L#0 PU L#0 (P#0) PU L#1 (P#32) L2 L#1 (1024KB) + L1d L#1 (32KB) + L1i L#1 (32KB) + Core L#1 PU L#2 (P#1) PU L#3 (P#33) L2 L#2 (1024KB) + L1d L#2 (32KB) + L1i L#2 (32KB) + Core L#2 PU L#4 (P#2) PU L#5 (P#34) L2 L#3 (1024KB) + L1d L#3 (32KB) + L1i L#3 (32KB) + Core L#3 PU L#6 (P#3) PU L#7 (P#35) Die L#1 + L3 L#1 (16MB) L2 L#4 (1024KB) + L1d L#4 (32KB) + L1i L#4 (32KB) + Core L#4 PU L#8 (P#4) PU L#9 (P#36) L2 L#5 (1024KB) + L1d L#5 (32KB) + L1i L#5 (32KB) + Core L#5 PU L#10 (P#5) PU L#11 (P#37) L2 L#6 (1024KB) + L1d L#6 (32KB) + L1i L#6 (32KB) + Core L#6 PU L#12 (P#6) PU L#13 (P#38) L2 L#7 (1024KB) + L1d L#7 (32KB) + L1i L#7 (32KB) + Core L#7 PU L#14 (P#7) PU L#15 (P#39) Die L#2 + L3 L#2 (16MB) L2 L#8 (1024KB) + L1d L#8 (32KB) + L1i L#8 (32KB) + Core L#8 PU L#16 (P#8) PU L#17 (P#40) L2 L#9 (1024KB) + L1d L#9 (32KB) + L1i L#9 (32KB) + Core L#9 PU L#18 (P#9) PU L#19 (P#41) L2 L#10 (1024KB) + L1d L#10 (32KB) + L1i L#10 (32KB) + Core L#10 PU L#20 (P#10) PU L#21 (P#42) L2 L#11 (1024KB) + L1d L#11 (32KB) + L1i L#11 (32KB) + Core L#11 PU L#22 (P#11) PU L#23 (P#43) Die L#3 + L3 L#3 (16MB) L2 L#12 (1024KB) + L1d L#12 (32KB) + L1i L#12 (32KB) + Core L#12 PU L#24 (P#12) PU L#25 (P#44) L2 L#13 (1024KB) + L1d L#13 (32KB) + L1i L#13 (32KB) + Core L#13 PU L#26 (P#13) PU L#27 (P#45) L2 L#14 (1024KB) + L1d L#14 (32KB) + L1i L#14 (32KB) + Core L#14 PU L#28 (P#14) PU L#29 (P#46) L2 L#15 (1024KB) + L1d L#15 (32KB) + L1i L#15 (32KB) + Core L#15 PU L#30 (P#15) PU L#31 (P#47) Package L#1 NUMANode L#1 (P#1 126GB) Die L#4 + L3 L#4 (16MB) L2 L#16 (1024KB) + L1d L#16 (32KB) + L1i L#16 (32KB) + Core L#16 PU L#32 (P#16) PU L#33 (P#48) L2 L#17 (1024KB) + L1d L#17 (32KB) + L1i L#17 (32KB) + Core L#17 PU L#34 (P#17) PU L#35 (P#49) L2 L#18 (1024KB) + L1d L#18 (32KB) + L1i L#18 (32KB) + Core L#18 PU L#36 (P#18) PU L#37 (P#50) L2 L#19 (1024KB) + L1d L#19 (32KB) + L1i L#19 (32KB) + Core L#19 PU L#38 (P#19) PU L#39 (P#51) Die L#5 + L3 L#5 (16MB) L2 L#20 (1024KB) + L1d L#20 (32KB) + L1i L#20 (32KB) + Core L#20 PU L#40 (P#20) PU L#41 (P#52) L2 L#21 (1024KB) + L1d L#21 (32KB) + L1i L#21 (32KB) + Core L#21 PU L#42 (P#21) PU L#43 (P#53) L2 L#22 (1024KB) + L1d L#22 (32KB) + L1i L#22 (32KB) + Core L#22 PU L#44 (P#22) PU L#45 (P#54) L2 L#23 (1024KB) + L1d L#23 (32KB) + L1i L#23 (32KB) + Core L#23 PU L#46 (P#23) PU L#47 (P#55) Die L#6 + L3 L#6 (16MB) L2 L#24 (1024KB) + L1d L#24 (32KB) + L1i L#24 (32KB) + Core L#24 PU L#48 (P#24) PU L#49 (P#56) L2 L#25 (1024KB) + L1d L#25 (32KB) + L1i L#25 (32KB) + Core L#25 PU L#50 (P#25) PU L#51 (P#57) L2 L#26 (1024KB) + L1d L#26 (32KB) + L1i L#26 (32KB) + Core L#26 PU L#52 (P#26) PU L#53 (P#58) L2 L#27 (1024KB) + L1d L#27 (32KB) + L1i L#27 (32KB) + Core L#27 PU L#54 (P#27) PU L#55 (P#59) Die L#7 + L3 L#7 (16MB) L2 L#28 (1024KB) + L1d L#28 (32KB) + L1i L#28 (32KB) + Core L#28 PU L#56 (P#28) PU L#57 (P#60) L2 L#29 (1024KB) + L1d L#29 (32KB) + L1i L#29 (32KB) + Core L#29 PU L#58 (P#29) PU L#59 (P#61) L2 L#30 (1024KB) + L1d L#30 (32KB) + L1i L#30 (32KB) + Core L#30 PU L#60 (P#30) PU L#61 (P#62) L2 L#31 (1024KB) + L1d L#31 (32KB) + L1i L#31 (32KB) + Core L#31 PU L#62 (P#31) PU L#63 (P#63)lstopo-no-graphics의 출력과 필요한 실시간 VM 설정 결과에 따라 vCPU를 물리적 CPU에 고정하는 방법을 결정합니다. 다음 항목은 위의 호스트 출력에 효과적인 XML 구성과 4개의 vCPU가 있는 실시간 VM을 보여줍니다.다음 고정 배치에서는 각 vCPU에 대해 전용 코어를 사용합니다. 이러한 고정 구성을 적용하려면 할당된 물리적 CPU를 호스트에서 분리해야 하며 해당 호스트에서 실행 중인 프로세스가 없어야 합니다.
<cputune> <vcpupin vcpu='0' cpuset='4'/> <vcpupin vcpu='1' cpuset='5'/> <vcpupin vcpu='2' cpuset='6'/> <vcpupin vcpu='3' cpuset='7'/> [...]다음 고정 배치에서는 각 vCPU에 대해 전용 L3 코어를 사용합니다.
<cputune> <vcpupin vcpu='0' cpuset='16'/> <vcpupin vcpu='1' cpuset='20'/> <vcpupin vcpu='2' cpuset='24'/> <vcpupin vcpu='3' cpuset='28'/> [...]
검증
- VM의 성능을 다시 모니터링하고 이전에 가져온 기준과 값을 비교합니다. 이를 수행하는 다양한 방법은 가상 머신 성능 모니터링 툴 을 참조하십시오.