Jim Gauld a52b6e831e Configure systemd CPUShares/Nice/IOScheduler for cron, docker, ssh
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>
2024-11-21 11:26:06 -05:00

28 lines
1002 B
Plaintext

Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: base-files-config
Source: https://opendev.org/starlingx/config-files/
Files: *
Copyright: (c) 2013-2024 Wind River Systems, Inc
License: Apache-2
Files: debian/*
Copyright: 2021 Wind River Systems, Inc
License: Apache-2
License: Apache-2
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
.
https://www.apache.org/licenses/LICENSE-2.0
.
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
.
On Debian-based systems the full text of the Apache version 2.0 license
can be found in `/usr/share/common-licenses/Apache-2.0'.