Modern CPUs have multiple cores and support hyper-threading. A hypervisor optimizes CPU resources by scheduling virtual CPUs across physical cores and treating each physical CPU as multiple logical CPUs using hyper-threading. This improves performance and utilization. The hypervisor also balances load across CPUs by migrating threads from overloaded to underutilized CPUs.