不同进程之间隔离cpu的方法

不同进程之间隔离cpu的方法

我正在同一应用程序的不同版本之间运行速度测试。我希望能够为每个应用程序分配一组固定的 cpu。例如,我想在两个 cpu 上运行应用程序,而不是更多。另外,我希望这两个 cpu 独占该进程,这样其他进程就不能“窃取” cputime 并降低测试分数。

有没有办法在 Linux 上做到这一点?我听说过 cgroup、容器和 docker。这些会有帮助吗?另外,哪种方法最简单(不一定是最用户友好的),哪种方法给我最大的控制权?

我也有点担心超线程。如果我给这个测试进程分配一个逻辑cpu,而测试时另一个进程是超线程的,这样不是会让测试结果变得更差吗?然后我还需要按物理 cpu 来分离 cpu。

相关内容