summaryrefslogtreecommitdiffstats
path: root/core/modules/bwlp-stage4-tweaks
diff options
context:
space:
mode:
authorSimon Rettberg2023-08-02 14:45:10 +0200
committerSimon Rettberg2023-08-02 14:45:10 +0200
commitdff841530793a9b847e8a3fc37be8675250ba64a (patch)
tree028a5ba030cde63ee3965eb7ff0f15e09047140c /core/modules/bwlp-stage4-tweaks
parentAdd more log output to a couple of systemd startup scripts (diff)
downloadmltk-dff841530793a9b847e8a3fc37be8675250ba64a.tar.gz
mltk-dff841530793a9b847e8a3fc37be8675250ba64a.tar.xz
mltk-dff841530793a9b847e8a3fc37be8675250ba64a.zip
[system-tweaks] Move a few more specific things to bwlp-stage4-tweaks
Diffstat (limited to 'core/modules/bwlp-stage4-tweaks')
-rw-r--r--core/modules/bwlp-stage4-tweaks/data/etc/systemd/system/general-system-tweaks.service7
l---------core/modules/bwlp-stage4-tweaks/data/etc/systemd/system/multi-user.target.wants/general-system-tweaks.service1
-rwxr-xr-xcore/modules/bwlp-stage4-tweaks/data/opt/openslx/pam/hooks/auth-final-exec.d/99-compact-memory.sh9
-rwxr-xr-xcore/modules/bwlp-stage4-tweaks/data/opt/openslx/scripts/systemd-general_system_tweaks21
4 files changed, 38 insertions, 0 deletions
diff --git a/core/modules/bwlp-stage4-tweaks/data/etc/systemd/system/general-system-tweaks.service b/core/modules/bwlp-stage4-tweaks/data/etc/systemd/system/general-system-tweaks.service
new file mode 100644
index 00000000..8bf67972
--- /dev/null
+++ b/core/modules/bwlp-stage4-tweaks/data/etc/systemd/system/general-system-tweaks.service
@@ -0,0 +1,7 @@
+[Unit]
+Description=Apply general system tweaks
+
+[Service]
+ExecStart=/opt/openslx/scripts/systemd-general_system_tweaks
+Type=oneshot
+RemainAfterExit=true
diff --git a/core/modules/bwlp-stage4-tweaks/data/etc/systemd/system/multi-user.target.wants/general-system-tweaks.service b/core/modules/bwlp-stage4-tweaks/data/etc/systemd/system/multi-user.target.wants/general-system-tweaks.service
new file mode 120000
index 00000000..11e1b73f
--- /dev/null
+++ b/core/modules/bwlp-stage4-tweaks/data/etc/systemd/system/multi-user.target.wants/general-system-tweaks.service
@@ -0,0 +1 @@
+../general-system-tweaks.service \ No newline at end of file
diff --git a/core/modules/bwlp-stage4-tweaks/data/opt/openslx/pam/hooks/auth-final-exec.d/99-compact-memory.sh b/core/modules/bwlp-stage4-tweaks/data/opt/openslx/pam/hooks/auth-final-exec.d/99-compact-memory.sh
new file mode 100755
index 00000000..6d35a3cc
--- /dev/null
+++ b/core/modules/bwlp-stage4-tweaks/data/opt/openslx/pam/hooks/auth-final-exec.d/99-compact-memory.sh
@@ -0,0 +1,9 @@
+#!/bin/ash
+
+# Compact memory now once at start of graphical session,
+# So VM will have as much contiguous blocks available
+# as possible.
+if [ "$PAM_TTY" = ":0" ]; then
+ echo 1 > /proc/sys/vm/compact_memory
+fi
+exit 0
diff --git a/core/modules/bwlp-stage4-tweaks/data/opt/openslx/scripts/systemd-general_system_tweaks b/core/modules/bwlp-stage4-tweaks/data/opt/openslx/scripts/systemd-general_system_tweaks
new file mode 100755
index 00000000..cab11765
--- /dev/null
+++ b/core/modules/bwlp-stage4-tweaks/data/opt/openslx/scripts/systemd-general_system_tweaks
@@ -0,0 +1,21 @@
+#!/bin/ash
+
+# General stuff
+
+# Breaks performance with certain workloads, so disable.
+# See https://unix.stackexchange.com/a/185172 for details and further references
+echo never > /sys/kernel/mm/transparent_hugepage/defrag
+echo 0 > /sys/kernel/mm/transparent_hugepage/khugepaged/defrag
+# New player in town doing pretty much the same, tame it
+echo 1 > /proc/sys/vm/compaction_proactiveness # default 20
+# Don't swap to easily
+echo 10 > /proc/sys/vm/swappiness
+
+# run-parts-like stuff
+DIR="$0.d"
+if [ -d "$DIR" ]; then
+ for file in "$DIR"/*; do
+ [ -x "$file" ] && "$file"
+ done
+fi
+exit 0