From Fedora Project Wiki
No edit summary |
mNo edit summary |
||
Line 24: | Line 24: | ||
|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`. The output of `systemctl --user status systoomd_swap_test` should say the unit is | * 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 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 02:25, 17 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 -r --unit systoomd_swap_test tail /dev/zero
- After verifying the results below, reset the unit:
systemctl --user stop systoomd_swap_test.service
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 killed (with no mention of oom-kill). - Swap used should be below 90% (use
free -h
)