From Fedora Project Wiki
mNo edit summary |
mNo edit summary |
||
Line 10: | Line 10: | ||
<pre> | <pre> | ||
sudo systemctl stop earlyoom | sudo systemctl stop earlyoom | ||
</pre> | </pre> | ||
Line 28: | Line 22: | ||
systemd-run --user -r --unit systoomd_swap_test tail /dev/zero | systemd-run --user -r --unit systoomd_swap_test tail /dev/zero | ||
</pre> | </pre> | ||
* Make sure to | * Make sure to reset the test unit after verifying the results: | ||
<pre> | <pre> | ||
systemctl --user reset-failed systoomd_swap_test.service | systemctl --user reset-failed systoomd_swap_test.service | ||
</pre> | </pre> |
Revision as of 09:53, 18 March 2021
Description
This test case tests that systemd-oomd kills the largest swap consumer when swap used is greater 90% (or whatever limit was defined by systemd-oomd-defaults).
Setup
- This test case should be performed on either bare-metal or virtual machines.
- Check that you are running systemd 248~rc1 or higher with
systemctl --version
. - Ensure the systemd-oomd-defaults package is installed (included with Fedora 34).
- Boot the system and log in as a regular user.
- Ensure no other conflicting userspace OOM killers are running. For example you may have to stop earlyoom:
sudo systemctl stop earlyoom
How to test
- Check that systemd-oomd is running:
systemctl status systemd-oomd
- Check that the systemd-oomd-defaults policy was applied by running
oomctl
and verifying that "/" is listed as a path under "Swap Monitored CGroups" along with the current swap usage. - Now run the test:
systemd-run --user -r --unit systoomd_swap_test tail /dev/zero
- Make sure to reset the test unit after verifying the results:
systemctl --user reset-failed systoomd_swap_test.service
Expected Results
- systemd-oomd will have killed the unit started above.
- You can verify by checking for some of the relevant log lines with
journalctl
: "Swap used <...> is more than 90%" or "systemd-oomd killed <...> process(es)" - The output of
systemctl --user status systoomd_swap_test
should say the unit is killed (with no mention of oom-kill). - Swap used should be below 90% (use
free -h
)