This updates CPUShares, CPUQuota, Nice, IOScheduling for:
cron.service, docker.service, rsync.service and ssh.service, since
these have sporadic intensive CPU and disk IO operations, yet are
not latency critical.
This gives 1/8th reduced shares, reduces Nice priority to +19(lowest),
and reduced IOScheduling to use best-effort/priority 7(lowest)
(used with 'bfq' IO Scheduler).
ssh.service CPUQuota is set to 100% since there is no engineering
reason to enable more. There are cases when admins attempt to do
multiple large cpu/disk operations in parallel.
rsync.service is observed to have sustained burst of work during
software upload.
cron.service has also been used for SysEng activities to generate
substantial system load.
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:
- PASS: Fresh install
- PASS: verify systemd parameters for cron, docker, rsync, ssh
Example:
systemctl show cron.service | \
grep -e CPUShares -e CPUQuota -e Nice -e IOScheduling
systemctl show docker.service | \
grep -e CPUShares -e CPUQuota -e Nice -e IOScheduling
systemctl show rsync.service | \
grep -e CPUShares -e CPUQuota -e Nice -e IOScheduling
systemctl show ssh.service | \
grep -e CPUShares -e CPUQuota -e Nice -e IOScheduling
AIO-SX, AIO-DX:
- PASS: B&R
- PASS: K8S orchestrated upgrade from 1.24 to 1.29
- PASS: Platform USM upgrade, including pre-activation rollback
Exception: docker override requires USM migration script.
Change-Id: Ide8f4269426385fc5fc8bddbdebfa6abb5eca2d1
Signed-off-by: Jim Gauld <James.Gauld@windriver.com>