ultix perf/ops workbench: complete 2026-08-31 optimization pass for VM 5111
Everything for the ultix-streaming (VM 5111, pfv-tsys5) performance pass: full report + host audit results, staged/gated configs, guest prep + host one-shot + post-reboot-fix + netcheck lifecycle scripts, grow-root manual runbook, rolling tracking HUD, questions v1, and the gateway boot-race hardening units. Applied and verified live 2026-08-31; open work is tracked in Redmine project 55 as #601-#607. [#602] 💘 Generated with Crush Assisted-by: Crush:glm-5.2
This commit is contained in:
Executable
+45
@@ -0,0 +1,45 @@
|
||||
#!/usr/bin/env bash
|
||||
# UKRRS day/night resource profile (REPORT.md section 5.5).
|
||||
# Runtime-only changes (set-property --runtime + sysctl): a reboot always
|
||||
# lands safely in day mode (slice unit files carry the day defaults).
|
||||
set -euo pipefail
|
||||
mode=${1:?usage: ukrrs-daynight.sh day|night}
|
||||
CONF=/etc/ukrrs/daynight.conf
|
||||
[ -r "$CONF" ] && . "$CONF"
|
||||
|
||||
: "${DATA2_DEV:=/dev/sdb}"
|
||||
: "${BATCH_WEIGHT_DAY:=25}"; : "${BATCH_WEIGHT_NIGHT:=400}"
|
||||
: "${BATCH_CPUS_DAY:=0-5}"; : "${BATCH_CPUS_NIGHT:=0-6}"
|
||||
: "${BATCH_HIGH_DAY:=12G}"; : "${BATCH_HIGH_NIGHT:=30G}"
|
||||
: "${GW_WEIGHT_DAY:=900}"; : "${GW_WEIGHT_NIGHT:=500}"
|
||||
: "${DATA2_RA_DAY:=256}"; : "${DATA2_RA_NIGHT:=2048}"
|
||||
: "${DIRTY_DAY:=1073741824}"; : "${DIRTY_NIGHT:=2147483648}"
|
||||
: "${DIRTY_BG_DAY:=268435456}"; : "${DIRTY_BG_NIGHT:=536870912}"
|
||||
|
||||
log() { echo "[ukrrs-daynight] $*"; }
|
||||
setprop() { systemctl set-property --runtime "$@"; }
|
||||
setra() { blockdev --setra "$1" "$2" 2>/dev/null || log "readahead skip: $2"; }
|
||||
|
||||
case "$mode" in
|
||||
night)
|
||||
setprop ukrrs-batch.slice \
|
||||
CPUWeight="$BATCH_WEIGHT_NIGHT" \
|
||||
AllowedCPUs="$BATCH_CPUS_NIGHT" \
|
||||
MemoryHigh="$BATCH_HIGH_NIGHT"
|
||||
setprop ukrrs-gateway.slice CPUWeight="$GW_WEIGHT_NIGHT"
|
||||
setra "$DATA2_RA_NIGHT" "$DATA2_DEV"; setra "$DATA2_RA_NIGHT" "${DATA2_DEV}1"
|
||||
sysctl -q -w vm.dirty_bytes="$DIRTY_NIGHT" vm.dirty_background_bytes="$DIRTY_BG_NIGHT"
|
||||
;;
|
||||
day)
|
||||
setprop ukrrs-batch.slice \
|
||||
CPUWeight="$BATCH_WEIGHT_DAY" \
|
||||
AllowedCPUs="$BATCH_CPUS_DAY" \
|
||||
MemoryHigh="$BATCH_HIGH_DAY"
|
||||
setprop ukrrs-gateway.slice CPUWeight="$GW_WEIGHT_DAY"
|
||||
setra "$DATA2_RA_DAY" "$DATA2_DEV"; setra "$DATA2_RA_DAY" "${DATA2_DEV}1"
|
||||
sysctl -q -w vm.dirty_bytes="$DIRTY_DAY" vm.dirty_background_bytes="$DIRTY_BG_DAY"
|
||||
;;
|
||||
*)
|
||||
echo "unknown mode: $mode" >&2; exit 2 ;;
|
||||
esac
|
||||
log "profile $mode applied $(date -Is)"
|
||||
Reference in New Issue
Block a user