
게스트 OS 내부에 가상 OS 스레드를 생성하고 있지만 실제 물리적 코어는 호스트 시스템에 있습니다. hyperthread = true
게스트 VM 구성이 다른가요?
물리적 코어가 있기 때문에 호스트에서 하이퍼스레딩이 어떻게 작동할지 상상할 수 있지만 VM은 이미 OS 스레드를 가상화하므로 VM 내부의 하이퍼스레딩을 상상하기 어렵습니다.
누군가 나에게 그것이 무엇인지 설명해 줄 수 있습니까?
답변1
나는 이것이 KVM 스케줄링 설정이라고 생각합니다. 일반적으로 CPU 토폴로지를 설정하여 이를 조정할 수 있습니다. HT "Core"는 속도가 느리므로 이 설정을 설정하면 안 됩니다. 그 이유는 에뮬레이션/가상화된 스레드가 실제 코어로 이동하기 때문입니다. 그게 더 빠릅니다.
저는 고도로 맞춤화된 virsh XML을 가지고 있는데 여러분이 기대할 수 있는 최대값을 말씀드릴 수는 없습니다. 가상 스레드 성능이 25% 향상되었습니다. 추가하면! 전체적으로 이는 스레드가 실제 코어가 아닌 가상 코어에서 실행되면 75%의 손실이 발생함을 의미합니다. 이 예는 최대한 활용하는 것을 의미합니다.
답변2
하이퍼스레딩의 차이점은 전적으로 가상 머신에서 실행할 애플리케이션에 따라 다릅니다. 하지만 한 가지 확실한 점은 하이퍼스레딩이 여러 CPU 코어에 부하를 분산시키는 데 도움이 된다는 것입니다.