Linux cgroups cpuset w/subs 导致 cgconfig 无法启动

Linux cgroups cpuset w/subs 导致 cgconfig 无法启动

我在尝试使用 cpuset 子系统分离 2 个组时遇到了问题。这很好用,但是如果我要向该组添加一个子组(在本例中为 user1),cgconfig 将无法启动,并显示“无法删除非空组”。删除组 abusers/user1 将完美启动。但是,这会破坏我试图执行的操作。

这是一个无法启动的 cgconfig 示例。

CentOS 版本 6.5(最终版本)2.6.32-431.5.1.el6.x86_64 libcgroup-0.40.rc1-5.el6_5.1.x86_64 在 VM 内部。

mount {
    cpuset  = /cgroup/cpuset;
    cpu = /cgroup/cpu;
    cpuacct = /cgroup/cpuacct;
    memory  = /cgroup/memory;
    devices = /cgroup/devices;
    freezer = /cgroup/freezer;
    net_cls = /cgroup/net_cls;
    blkio   = /cgroup/blkio;
}

group normal {

  blkio {
                blkio.throttle.write_bps_device="253:0 72428800";
                blkio.throttle.read_bps_device="253:0  72428800";
                blkio.reset_stats="";
                blkio.weight="700";
                blkio.weight_device="";

  }
  memory {
    memory.limit_in_bytes = "1673003008";
    memory.memsw.limit_in_bytes="1673003008";
  }

  cpuset {
        cpuset.mems = "0";
        cpuset.cpus = "0-2";
     }
}


group abusers {

cpu {}
blkio {}

  memory {
    memory.limit_in_bytes = "38442369024";
    memory.memsw.limit_in_bytes="81203822592";
  }

  cpuset {
        cpuset.mems = "0";
        cpuset.cpus = "3";
     }

}


group abusers/user1 {
  cpu {
    cpu.shares = 200;
    cpu.cfs_quota_us = 10000;
    cpu.cfs_period_us = 100000;
  }

  blkio {
                blkio.throttle.write_bps_device="253:2 10485760";
                blkio.throttle.read_bps_device="253:2  10485760";
                blkio.reset_stats="";
                blkio.weight="100";
                blkio.weight_device="";

  }


  memory {
    memory.limit_in_bytes = "1024M";
    memory.memsw.limit_in_bytes="1280M";
  }


}

答案1

253:0 处是什么设备?我猜想该特定设备对非 root 用户没有 rw 权限。因此,要么您尝试限制的设备不合适,要么您需要为非 root 用户设置该设备的 rw 权限。

相关内容