### THE WAY OF CONFIG IS FUCKED #### 1. NEED TO SPLIT MEMORY FROM CPU* FOR CHILDRENS #### 2. NEED TO KEEP PARENTS ASSIGNED FOR RESOURCE I.E. CPUSET FOR PARENT HAVE TO HAVE THE CHILDER CPU ID WITHIN RANGE (PARENT 1-3, CHILD 0 is wrong!!) #### 3. ASSIGN PROCESS TO LIMITS (SEE BELOW) BY CGRED.CONF ### MOUNT THE CGROUPS SCHEMA INTO SYSTEMD DEFAULT DIRECTORY mount { cpuset = /sys/fs/cgroup/cpuset; cpu = /sys/fs/cgroup/cpu,cpuacct; cpuacct = /sys/fs/cgroup/cpu,cpuacct; memory = /sys/fs/cgroup/memory; devices = /sys/fs/cgroup/devices; freezer = /sys/fs/cgroup/freezer; net_cls = /sys/fs/cgroup/net_cls; blkio = /sys/fs/cgroup/blkio; perf_event = /sys/fs/cgroup/perf_event; hugetlb = /sys/fs/cgroup/hugetlb; } ###### ALL USERS AND SERVICES ###### group USERS.slice { cpuset { cgroup.clone_children="1"; cpuset.cpus="1-3"; } memory { } } ### ARCHIPEL -- VMs MGMT group USERS.slice/archipel { cpu { cpu.shares="512"; } cpuset { cpuset.cpus="1"; } cpuacct { } } # NEEDS TO BE IN SEPARATE CATEGORY - WHY ? group USERS.slice/archipel { memory { memory.limit_in_bytes="536870912"; } } ###### VIRTUAL MACHINES RESTRICTIONS ###### group ASA.slice { cpuset { cpuset.cpus="3"; } cpu { cpu.shares="256"; } } group NEXUS.slice { cpuset { cpuset.cpus="2"; } cpu { cpu.shares="512"; } } group CSR1000v.slice { cpuset { cpuset.cpus="2"; } cpu { cpu.shares="256"; } } group XR.slice { cpuset { cpuset.cpus="2"; } cpu { cpu.shares="256"; } }