fi
[[ -e /skipped ]] && exit 0 || true
-cat > /etc/systemd/system/testworkload.slice <<EOF
-[Slice]
-CPUAccounting=true
-MemoryAccounting=true
-IOAccounting=true
-TasksAccounting=true
-ManagedOOMMemoryPressure=kill
-ManagedOOMMemoryPressureLimitPercent=50%
-EOF
-
-# Create a lot of memory pressure by setting memory.high to a very small value
-cat > /etc/systemd/system/testbloat.service <<EOF
-[Service]
-MemoryHigh=2M
-Slice=testworkload.slice
-ExecStart=/usr/lib/systemd/tests/testdata/units/testsuite-56-slowgrowth.sh
-EOF
-
-# This generates no memory pressure
-cat > /etc/systemd/system/testchill.service <<EOF
-[Service]
-MemoryHigh=2M
-Slice=testworkload.slice
-ExecStart=sleep infinity
-EOF
-
-systemctl daemon-reload
-
-systemctl start testbloat.service
-systemctl start testchill.service
+systemctl start testsuite-56-testbloat.service
+systemctl start testsuite-56-testchill.service
# Verify systemd-oomd is monitoring the expected units
-oomctl | grep "/testworkload.slice"
+oomctl | grep "/testsuite-56-workload.slice"
oomctl | grep "50%"
# systemd-oomd watches for elevated pressure for 30 seconds before acting.
# It can take time to build up pressure so either wait 5 minutes or for the service to fail.
timeout=$(date -ud "5 minutes" +%s)
while [[ $(date -u +%s) -le $timeout ]]; do
- if ! systemctl status testbloat.service; then
+ if ! systemctl status testsuite-56-testbloat.service; then
break
fi
sleep 15
done
# testbloat should be killed and testchill should be fine
-if systemctl status testbloat.service; then exit 42; fi
-if ! systemctl status testchill.service; then exit 24; fi
+if systemctl status testsuite-56-testbloat.service; then exit 42; fi
+if ! systemctl status testsuite-56-testchill.service; then exit 24; fi
systemd-analyze log-level info