Configure systemd CPUShares/CPUQuota for pmon.service

This updates CPUShares and CPUQuota for pmon.service.
This gives reduced shares and quota since pmon.service has sporadic CPU
usage yet is not latency critical. Significant hirunner CPU usage comes
from various audits (unrelated to pmon process itself) running under the
systemd pmon.service cgroup.

For example: ceph health audit, ceph osd audit, can easily require 100%
cpu for several seconds, often taking 30% occupancy for multiple
seconds.

This reduces pmon cgroup to 150 CPUShare from 1024 and sets
CPUQUota 15%. This smoothes out behaviour of poorly behaved audits.
This effectively slows down the audit behaviour by a few seconds due
to throttling.

This is part of an overall set of adjustments are required for systemd
cgroups CPUShares, CPUQuota, and AllowedCPUs for key system services.
This will improve latency of Kubernetes critical components, and
throttles lesser important services.

Partial-Bug: 2084714

TEST PLAN:
AIO-SX, AIO-DX, Standard, Storage, DC, AIO-DX with ceph:
- PASS: Fresh install
- PASS: verify systemd parameters for pmon

        Example:
        systemctl show pmon.service | grep -e CPUShares -e CPUQuota

AIO-SX, AIO-DX:
- PASS: B&R

AIO-DX:
- PASS: K8S orchestrated upgrade 1.24 - 1.29
- TODO: controller swact

Change-Id: I6ee5c6029c2a5a0fae26e9231401e4d4f1c016df
Signed-off-by: Jim Gauld <James.Gauld@windriver.com>
This commit is contained in:
Jim Gauld 2024-10-16 15:42:57 -04:00
parent 9e0e191074
commit d368475197

View File

@ -21,5 +21,10 @@ TimeoutStopSec=10s
Restart=always Restart=always
RestartSec=2 RestartSec=2
# cgroup engineering
CPUShares=150
CPUQuota=15%
CPUQuotaPeriodSec=10ms
[Install] [Install]
WantedBy=multi-user.target WantedBy=multi-user.target