From Fedora Project Wiki

Revision as of 11:05, 11 March 2021 by Anitazha (talk | contribs)

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

  1. This test case should be performed on either bare-metal or virtual machines.
  2. Check that you are running systemd 248~rc1 or higher with systemctl --version.
  3. Ensure the systemd-oomd-defaults package is installed (included with Fedora 34).
  4. Boot the system and log in as a regular user.

How to test

  1. Check that systemd-oomd is running:
systemctl status systemd-oomd
  1. 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.
  2. Now run the test:
systemd-run --user --unit systoomd_swap_test tail /dev/zero

Expected Results

  1. 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).
  2. Swap used should be below 90% (use free -h)