From Fedora Project Wiki
No edit summary |
No edit summary |
||
Line 16: | Line 16: | ||
# Now run the test: | # Now run the test: | ||
<pre> | <pre> | ||
systemd-run --user tail /dev/zero | systemd-run --user --unit systoomd_swap_test tail /dev/zero | ||
</pre> | </pre> | ||
|results= | |results= | ||
# systemd-oomd will have killed the unit started above. You can verify by checking for log lines that say something about "swap used <...> is more than 90%" and "systemd-oomd killed <...> process(es)" with `journalctl`. | # systemd-oomd will have killed the unit started above. You can verify by checking for log lines that say something about "swap used <...> is more than 90%" and "systemd-oomd killed <...> process(es)" with `journalctl`. The output of `systemctl --user status systoomd_swap_test` should say the unit is failed and killed (with no mention of oom-kill). | ||
# Swap used should be below 90% (use `free -h`) | # Swap used should be below 90% (use `free -h`) | ||
}} | }} |
Revision as of 11:05, 11 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.
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 --unit systoomd_swap_test tail /dev/zero
Expected Results
- systemd-oomd will have killed the unit started above. You can verify by checking for log lines that say something about "swap used <...> is more than 90%" and "systemd-oomd killed <...> process(es)" with
journalctl
. The output ofsystemctl --user status systoomd_swap_test
should say the unit is failed and killed (with no mention of oom-kill). - Swap used should be below 90% (use
free -h
)