Supervisor : 为什么我可以在 4 核机器上 运行 超过 4 个进程?

Supervisor : Why am I able to run more than 4 processes on a 4 core machine?

我正在使用 4 核机器并使用 vagrant box 来托管我的应用程序。我已将 Supervisor 配置为在不同的端口上生成 5 个进程,我可以轻松地 运行 所有独立的进程。这是否意味着 Supervisor 生成的每个进程都没有遵守单独的核心?

运行 进程是 OS 作业。它决定什么 运行 以及什么时候 运行 它。 事实上,你有 4 个核心意味着你可以并行执行 4 个不同的 "codes"(4 个不同的线程不一定来自同一进程)

这意味着如果您将 4 个进程放在具有 4 个内核的同一台机器上,它们很可能会 运行 并行。 如果你有 5 个进程比在任何给定时刻,只有 4 个在 运行ning,但看起来它们都是并行的 运行ning,因为它们会做一个 "context switch",你的内核将随机停止 运行ning 1 个进程并切换到另一个