내 Linux 컴퓨터에는 32개의 vcore가 있습니다.
에서도 lscpu
같은 상황을 볼 수 있습니다.
내 CPU의 경우 "코어당 스레드"는 2입니다.
그렇다면 실제로 64개의 vcore가 있다는 뜻인가요?
답변1
lscpu
출력 에서 "CPU(s)" 줄은 총 논리 CPU(스레드라고도 함) 수를 제공합니다. VM 내에서 실행 중인 경우 VM에 할당된 가상 코어 수(이 경우 32)입니다.
제공된 추가 정보는 lscpu
더 자세한 정보를 제공하며 궁극적으로 논리 CPU 수(코어당 스레드 × 소켓당 코어 × 소켓)와 일치해야 합니다. 호스트의 물리적 CPU 특성은 VM의 가상 CPU 특성에 큰 영향을 미치지 않으며, 큰 영향을 미치지 않습니다.다음에 추가할당 - 호스트 CPU에 코어당 스레드가 2개 있는 경우 가상 머신 내에서 할당된 코어 수가 증가하지 않습니다.
답변2
Linux 시스템에 32개의 CPU 코어를 할당하고 코어당 스레드가 2개인 경우 스레드는 64개이지만 코어는 64개가 아닙니다.
일반적으로 하나의 코어는 한 번에 스레드만 실행할 수 있지만 이제 대부분의 CPU는 CPU가 현재 스레드 파이프라인의 유휴 단계를 찾아 다른 코어를 처리하여 더 나은 멀티프로세싱을 정의하는 하이퍼스레딩 개념을 지원합니다.
그러나 Linux 머신이 가상이라면 가상 머신은 머신의 코어 대신 논리 스레드를 표시합니다.