미분류

[VMware] Processor, Core 개수 효율성

bemaru 2024. 3. 29. 21:53

현재까지 결론

  • Number of processers * Number of cores per process = vCPU count
  • 일반적으로 고정된 vCPU 개수에서, core개수를 늘리는 것이 효율성이 좋다
  • 단, vShpere 6.5 이전 버전은 Number of processers 를 늘리는 것이 좋다.
  • vmware 에선 server OS의 경우 2 processrs 를 추천한다.
  • windows vm은 1*2 , window server vm은 2*1 로 세팅해보고 느리다면 core를 추가하는게 좋아보인다.

    • https://www.slrclub.com/bbs/vx2.php?id=pc&no=23389
      • vmware 제품의 경우 guest os 에 hyperthreading 을 노출시킬 수 없는 구조
      • 1 socket x 8 core 로 만드나
        2 socket x 4 core 로 만드나
        4 socket x 2 core 로 만드나, 실제 시스템 성능상의 차이는 없다고 봐도 무방합니다. (실제 물리 CPU 가 1개이기 때문)
    • https://docs.vmware.com/en/VMware-Workstation-Pro/16.0/com.vmware.ws.using.doc/GUID-9745D560-9243-4262-A585-D709D52B1349.html?hWord=N4IghgNiBcIG4GEAKBVEBfIA 
      • ApplicationRecommended number of processors
        Desktop applications 1 processor
        Server operating systems 2 processors
        Video encoding, modeling, and scientific 4 processors
    • https://www.2cpu.co.kr/vm/5917
      • CPU는 1개로하고 코어수만 조절해도 됩니다.
    • https://www.reddit.com/r/vmware/comments/120d2of/how_does_setting_numbers_of_cores_per_processor/
      • I have an 8-core processor with HT (16 logical cores). I am able to allocate 12 vCPUs (1 processor with 12 cores per processor) to a VM and successfully boot it. This is on Workstation 17 on Windows 10.
    • https://change-words.tistory.com/entry/intel-CPU-Hyper-Threading
      • 하이퍼스레딩은 인텔이 개발한 CPU 기술로 하나의 물리적 코어가 동시에 두 개의 독립적인 작업(스레드)을 처리할 수 있도록 합니다. 이를 통해 더 많은 작업을 동시에 병렬로 처리하고, 멀티태스킹 성능을 강화하는 등 CPU 자원을 더 효율적으로 활용해서 성능을 향상시킬 수 있습니다.
    • https://learn.microsoft.com/ko-kr/windows/win32/procthread/processor-groups
      • Windows 11 및 Windows Server 2022부터는 더 이상 애플리케이션이 기본적으로 단일 프로세서 그룹으로 제한되지 않습니다. 대신 프로세스와 해당 스레드에는 기본적으로 64개 이상의 프로세서가 있는 컴퓨터의 여러 그룹에 걸쳐 시스템의 모든 프로세서에 걸쳐 있는 프로세서 친화성이 있습니다.
    • https://velog.io/@anjaekk/OS-Thrashing
      • Thrashing이란
        사용하는 프로세스가 많아질 때 어느 한계점 까지는 CPU이용율이 증가하다가 한계점 이상부터는 CPU 이용율이 떨어지게 되는데 이 때 사용량이 떨어지는 이유 중 하나가 스레싱 때문이다.
    • https://www.nakivo.com/blog/the-number-of-cores-per-cpu-in-a-virtual-machine/
      • Setting the Number of VMware CPU Cores Per Socket: Best Practices
      • CPU support limits for some operating systems:
        • Windows 10 Pro – 2 CPUs
        • Windows 10 Home – 1 CPU
        • Windows 10 Workstation – 4 CPUs
        • Windows Server 2019 Standard/Datacenter – 64 CPUs
        • Windows XP Pro x64 – 2 CPUs
        • Windows 7 Pro/Ultimate/Enterprise – 2 CPUs
        • Windows Server 2003 Datacenter – 64 CPUs
      • For older vSphere versions, we recommend using sockets over cores in VM configuration.
      • When you define the number of logical processors (vCPUs) for a VM, prefer the cores-per-socket configuration. 
      • If a guest operating system and other software installed on a VM are licensed on a per-processor basis, configure a VM to use fewer processors with more CPU cores. For example, Windows Server 2012 R2 is licensed per socket, and Windows Server 2016 is licensed on a per-core basis.
      • If you use CPU overcommitment in the configuration of your VMware virtual machines, keep in mind these values:
        • 1:1 to 3:1 – There should be no problems in running VMs
        • 3:1 to 5:1 – Performance degradation is observed
        • 6:1 – Prepare for problems caused by significant performance degradation
      • If you use vSphere versions older than vSphere 6.5, configure the number of sockets without increasing the number of CPU cores for a VM due to the different behavior of vNUMA in newer and older vSphere versions. 
  •  
  • https://communities.vmware.com/t5/VMware-Workstation-Pro/Best-CPU-configuration-for-my-new-Windows-2022-Server-VM/td-p/2949845
    • Each will give your VM 2 vCPU's and normally there is no difference from a performance point of view.
  • https://antangel.tistory.com/362
    •  
      Workload Dual socket with 2 cores
      Single socket with 4 cores
      Web serving 100% 120%
      Database 90% 110%
      File serving 80% 100%
      Video encoding 70% 90%
  • https://kb.vmware.com/s/article/1010184
    • Terminology Description
      CPU



      The CPU, or processor, is the component of a computer system that performs the tasks required for computer applications to run. The CPU is the primary element that performs the computer functions. CPUs contain cores.
      CPU Socket

      A CPU socket is a physical connector on a computer motherboard that connects to a single physical CPU. Some motherboards have multiple sockets and can connect multiple multicore processors (CPUs).
      Core

      A core contains a unit containing an L1 cache and functional units needed to run applications. Cores can independently run applications or threads. One or more cores can exist on a single CPU.
반응형