默认情况下,此值设置为1024。我假设这意味着如果我把我的小组的股票设置为1024,它将是可用计算能力的100%。
有什么办法让我增加粒度吗?例如,我希望在2048或8196达到最大值,而不是在1024达到最大值。
发布于 2018-03-03 19:29:45
IIRC,cpu.shares已经是难以置信的粒状。
cpu.shares:生活在同一层次结构中的每一组的重量,即它期望得到的CPU数量。在创建cgroup时,每个组被分配一个缺省值为1024。分配给cgroup的CPU百分比是共享值除以同一级别上所有cgroup中所有共享的总和。
cpu.shares的值用于与其他cgroup进行比较。如果您有一个进程在cgroup下运行,那么无论cpu.shares的值如何,它总是会得到主机所能节省的尽可能多的CPU。在分配给cpu.shares的相同值的cgroup下运行的多个进程将平均分割可用的CPU。
当cgroup下有多个进程时,它们的cpu.shares值一起比较,而数量较多的进程占可用主机CPU的百分比更高。如果有两个分组进程的cpu.shares=1024,那么为第三个进程分配cpu.shares=2048,前两个进程将获得相同数量的可用CPU,而第三个进程将获得两倍的可用CPU (大约25%、25%、50%)。
实际的数字可能是你想要的任何东西(现在是粒状的),只有它们之间的百分比差异才重要。如果使用cpu.shares=5和cpu.shares=10或cpu.shares=50000和cpu.shares=100000,则将复制上述示例的结果。
https://stackoverflow.com/questions/49087854
复制相似问题