在虚拟机上,如果cat /proc/cpuinfo
告诉我有 4 个 CPU,这是否与裸机一样有意义?我是否应该像在裸机服务器上一样配置我的服务器(例如,Nginx 或 Apache 工作程序的数量)?
答案1
这在很大程度上取决于所使用的虚拟化解决方案。如果您在 VMWare 中显示多个 CPU,则您的 VM 已分配了多个 vCPU,在这种情况下,最好以与一对真实核心类似的方式安排服务器进程(但需要注意的是,由于 vCPU 和真实核心的调度方式,如果您的主机负载相对较重,有时最好不要通过 VMWare 为 VM 提供多个 vCPU)。其他类似的解决方案可能以相同的方式工作,但有些(尤其是那些真正分区一个内核而不是提供 VM 的解决方案)通常会报告主机的全部功能,即使您的分区实际上被锁定在一个核心上。
答案2
这取决于虚拟机管理程序。如果虚拟机管理程序在物理处理器上的 1 个线程中模拟 4 个处理器,那么您的 VM 最好将其视为 1 个 CPU。如果虚拟机管理程序将 4 个物理核心传递给您的 VM,那么您最好使用它们。