Add updated tuning configuration
Uses a much nicer CPU tuning configuration, leveraging systemd's AllowedCPUs and CPUAffinity options within a set of slices (some default, some custom). Configuration is also greatly simplified versus the previous implementation, simply asking for a number of CPUS for both the system and OSDs, and calculating everything else that is required. Also switches (back) to the v2 unified cgroup hierarchy by default as required by the systemd AllowedCPUs directive.
This commit is contained in:
@ -0,0 +1,2 @@
|
||||
[Service]
|
||||
Slice = osd.slice
|
13
roles/pvc/templates/cputuning/machine.slice.j2
Normal file
13
roles/pvc/templates/cputuning/machine.slice.j2
Normal file
@ -0,0 +1,13 @@
|
||||
# PVC VM slice unit
|
||||
# {{ ansible_managed }}
|
||||
|
||||
[Unit]
|
||||
Description=Virtual Machine and Container Slice
|
||||
Documentation=man:systemd.special(7)
|
||||
Before=slices.target
|
||||
|
||||
[Slice]
|
||||
CPUAccounting = true
|
||||
Delegate = true
|
||||
CPUAffinity = {{ cpuset_vm }}
|
||||
AllowedCPUs = {{ cpuset_vm }}
|
13
roles/pvc/templates/cputuning/osd.slice.j2
Normal file
13
roles/pvc/templates/cputuning/osd.slice.j2
Normal file
@ -0,0 +1,13 @@
|
||||
# PVC ceph-osd slice unit
|
||||
# {{ ansible_managed }}
|
||||
|
||||
[Unit]
|
||||
Description=Ceph OSD Slice
|
||||
Documentation=man:systemd.special(7)
|
||||
Before=slices.target
|
||||
|
||||
[Slice]
|
||||
CPUAccounting=true
|
||||
Delegate = true
|
||||
CPUAffinity = {{ cpuset_osd }}
|
||||
AllowedCPUs = {{ cpuset_osd }}
|
13
roles/pvc/templates/cputuning/system.slice.j2
Normal file
13
roles/pvc/templates/cputuning/system.slice.j2
Normal file
@ -0,0 +1,13 @@
|
||||
# PVC VM slice unit
|
||||
# {{ ansible_managed }}
|
||||
|
||||
[Unit]
|
||||
Description = Core System Slice
|
||||
Documentation = man:systemd.special(7)
|
||||
Before = slices.target
|
||||
|
||||
[Slice]
|
||||
CPUAccounting = true
|
||||
Delegate = true
|
||||
CPUAffinity = {{ cpuset_system }}
|
||||
AllowedCPUs = {{ cpuset_system }}
|
13
roles/pvc/templates/cputuning/user.slice.j2
Normal file
13
roles/pvc/templates/cputuning/user.slice.j2
Normal file
@ -0,0 +1,13 @@
|
||||
# PVC VM slice unit
|
||||
# {{ ansible_managed }}
|
||||
|
||||
[Unit]
|
||||
Description = User and Session Slice
|
||||
Documentation = man:systemd.special(7)
|
||||
Before = slices.target
|
||||
|
||||
[Slice]
|
||||
CPUAccounting = true
|
||||
Delegate = true
|
||||
CPUAffinity = {{ cpuset_system }}
|
||||
AllowedCPUs = {{ cpuset_system }}
|
Reference in New Issue
Block a user