<?xml version='1.0'?> <!--*-nxml-*-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
  "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!-- SPDX-License-Identifier: LGPL-2.1-or-later -->

<refentry id="oomd.conf" conditional='ENABLE_OOMD'
    xmlns:xi="http://www.w3.org/2001/XInclude">
  <refentryinfo>
    <title>oomd.conf</title>
    <productname>systemd</productname>
  </refentryinfo>

  <refmeta>
    <refentrytitle>oomd.conf</refentrytitle>
    <manvolnum>5</manvolnum>
  </refmeta>

  <refnamediv>
    <refname>oomd.conf</refname>
    <refname>oomd.conf.d</refname>
    <refpurpose>Global <command>systemd-oomd</command> configuration files</refpurpose>
  </refnamediv>

  <refsynopsisdiv>
    <para><filename>/etc/systemd/oomd.conf</filename></para>
    <para><filename>/etc/systemd/oomd.conf.d/*.conf</filename></para>
    <para><filename>/usr/lib/systemd/oomd.conf.d/*.conf</filename></para>
  </refsynopsisdiv>

  <refsect1>
    <title>Description</title>

    <para>These files configure the various parameters of the
    <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry> userspace
    out-of-memory (OOM) killer,
    <citerefentry><refentrytitle>systemd-oomd.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>.
    See <citerefentry><refentrytitle>systemd.syntax</refentrytitle><manvolnum>7</manvolnum></citerefentry>
    for a general description of the syntax.</para>

  </refsect1>

  <xi:include href="standard-conf.xml" xpointer="main-conf" />

  <refsect1>
    <title>[OOM] Section Options</title>

    <para>The following options are available in the [OOM] section:</para>

    <variablelist class='config-directives'>
      <varlistentry>
        <term><varname>SwapUsedLimitPercent=</varname></term>

        <listitem><para>Sets the limit for swap usage on the system before <command>systemd-oomd</command> will
        take action. If the percentage of swap used on the system is more than what is defined here,
        <command>systemd-oomd</command> will act on eligible descendant cgroups, starting from the ones with the
        highest swap usage to the lowest swap usage. Which cgroups are monitored and what
        action gets taken depends on what the unit has configured for <varname>ManagedOOMSwap=</varname>.
        Takes a percentage value between 0% and 100%, inclusive. Defaults to 90%.</para></listitem>
      </varlistentry>

      <varlistentry>
        <term><varname>DefaultMemoryPressureLimitPercent=</varname></term>

        <listitem><para>Sets the limit for memory pressure on the unit's cgroup before <command>systemd-oomd</command>
        will take action. A unit can override this value with <varname>ManagedOOMMemoryPressureLimitPercent=</varname>.
        The memory pressure for this property represents the fraction of time in a 10 second window in which all tasks
        in the cgroup were delayed. For each monitored cgroup, if the memory pressure on that cgroup exceeds the
        limit set for more than 30 seconds, <command>systemd-oomd</command> will act on eligible descendant cgroups,
        starting from the ones with the most reclaim activity to the least reclaim activity. Which cgroups are
        monitored and what action gets taken depends on what the unit has configured for
        <varname>ManagedOOMMemoryPressure=</varname>. Takes a percentage value between 0% and 100%, inclusive.
        Defaults to 60%.</para></listitem>
      </varlistentry>

    </variablelist>
  </refsect1>

  <refsect1>
      <title>See Also</title>
      <para>
        <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
        <citerefentry><refentrytitle>systemd.resource-control</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
        <citerefentry><refentrytitle>systemd-oomd.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
        <citerefentry><refentrytitle>oomctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>
      </para>
  </refsect1>

</refentry>
