Thanks a lot and sorry for the late reply.
That works (sometimes), but not how I would like to and not quite reliably.
I added the options you specified to the profile used by my containers. Here is what the profile looks like:
config:
raw.lxc: |-
lxc.cgroup.relative=1
lxc.cgroup.dir=/user
description: A profile
devices:
eth0:
name: eth0
network: lxdbr0
type: nic
root:
path: /
pool: default
type: disk
name: base
used_by: []
At the beginning, the containers cgroups were created under /system/user, so I deleted the cgroup /system/user and all of its children, rebooted, and re-applied the cset configuration on startup. This is the ouput of cset set:
giu@server:~$ cset set
cset:
Name CPUs-X MEMs-X Tasks Subs Path
root 0-7 y 0 y 337 2 /
user 2-7 n 0 n 0 0 /user
system 0-1 n 0 n 74 0 /system
Then I spawned a container with the new profile with:
lxc launch ubuntu:focal a-container --profile base
This changed the cset configuration:
cset:
Name CPUs-X MEMs-X Tasks Subs Path
root 0-7 y 0 y 359 2 /
user 0-7 n 0 n 0 2 /user
system 0-1 n 0 n 106 0 /system
And didn’t achieve the desired effect:
giu@server:~$ lxc shell a-container
root@a-container:~# cat /proc/cpuinfo | grep "core id"
core id : 0
core id : 1
So I created another container, this time specifying the option limits.cpu: 2-7. This kinda worked:
root@another-container:~# cat /proc/cpuinfo | grep “core id”
core id : 0
core id : 1
core id : 2
core id : 3
core id : 4
core id : 5
core id : 6
core id : 7
But that’s still not quite what I want as cores 0-1 shouldn’t be used by the container (I specified limits.cpu = 2-7). So I deleted all the containers and tried to re-apply the cset settings with the following script:
cset set --set system --cpu=0-1
cset set --set user --cpu=0-7
cset proc -m -f root -t system -k
The lxc.pivot cgroup under /user would cause that to fail, so I deleted it with
sudo cgdelete cpuset:/user/lxc.pivot
and re-ran the previous script. The cset config was now correct, but all the new containers cgroups would now be created under /system/user again.
Any ideas? Thanks in advance for your help.
P.S.: somehow that work as expected on a similar system (same hardware same OS), but no clue what the difference was.