我在单核机器上有 3 个进程。每个进程都完全相同,并且尽可能快地消耗 CPU(紧密循环)。其中两个 (A和B) 使用 cgexec 在不同的组中启动,共享设置为 512 和 512。第三个 ( C) 定期启动,而不是使用 cgexec。
一旦所有的启动和运行,C得到CPU,而66%A和B分裂33%。如果我杀了C,然后A和B获得各50%(预期)。
为什么会C得到66%?在这种情况下,我预计各为 33%,或者可能为 50% (C)、25% (A) 和 25% (B)。C不管我如何计算,66% 的结果都行不通。
一般来说,我想了解在资源共享(特别是 CPU,但如果不是太复杂的话,更通用的答案)时cgexec,进程是如何在不与启动的进程交互的情况下启动的cgexec。
cgroups ×1