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

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

  <refmeta>
    <refentrytitle>org.freedesktop.oom1</refentrytitle>
    <manvolnum>5</manvolnum>
  </refmeta>

  <refnamediv>
    <refname>org.freedesktop.oom1</refname>
    <refpurpose>The D-Bus interface of systemd-oomd</refpurpose>
  </refnamediv>

  <refsect1>
    <title>Introduction</title>

    <para>
    <citerefentry><refentrytitle>systemd-oomd.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>
    is a system service which implements a userspace out-of-memory (OOM) killer. This page describes the
    D-Bus interface.</para>
  </refsect1>

  <refsect1>
    <title>The Manager Object</title>

    <para>The service exposes the following interfaces on the Manager object on the bus:</para>

    <programlisting executable="systemd-oomd" node="/org/freedesktop/oom1" interface="org.freedesktop.oom1.Manager">
node /org/freedesktop/oom1 {
  interface org.freedesktop.oom1.Manager {
    methods:
      DumpByFileDescriptor(out h fd);
    signals:
      Killed(s cgroup,
             s reason);
  };
  interface org.freedesktop.DBus.Peer { ... };
  interface org.freedesktop.DBus.Introspectable { ... };
  interface org.freedesktop.DBus.Properties { ... };
};
</programlisting>

    <!--method DumpByFileDescriptor is not documented!-->

    <!--Autogenerated cross-references for systemd.directives, do not edit-->

    <variablelist class="dbus-interface" generated="True" extra-ref="org.freedesktop.oom1.Manager"/>

    <variablelist class="dbus-interface" generated="True" extra-ref="org.freedesktop.oom1.Manager"/>

    <variablelist class="dbus-method" generated="True" extra-ref="DumpByFileDescriptor()"/>

    <variablelist class="dbus-signal" generated="True" extra-ref="Killed()"/>

    <!--End of Autogenerated section-->

    <refsect2>
      <title>Methods</title>

      <para><function>Killed()</function> signal is sent when any cgroup is killed by oomd.</para>
      <para>Note that more reasons will be added in the future, and the table below will be expanded accordingly.</para>
      <table>
        <title>Killing reasons</title>
        <tgroup cols="2" align="left" colsep="1" rowsep="1">
        <colspec colname="reason"/>
        <colspec colname="description"/>
        <thead>
          <row>
            <entry>Reason</entry>
            <entry>Description</entry>
          </row>
        </thead>
        <tbody>
          <row>
            <entry>memory-used</entry>
            <entry>Application took too much memory and swap.</entry>
          </row>
          <row>
            <entry>memory-pressure</entry>
            <entry>Application took enough memory and swap to cause sufficient slowdown of other applications.</entry>
          </row>
        </tbody>
        </tgroup>
      </table>
    </refsect2>
  </refsect1>

  <xi:include href="org.freedesktop.locale1.xml" xpointer="versioning"/>

  <refsect1>
    <title>History</title>
    <refsect2>
      <title>The Manager Object</title>
      <para><function>Killed()</function> was added in version 252.</para>
    </refsect2>
  </refsect1>

  <refsect1>
    <title>See Also</title>
    <para><simplelist type="inline">
      <member><citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry></member>
      <member><citerefentry><refentrytitle>systemd-oomd.service</refentrytitle><manvolnum>8</manvolnum></citerefentry></member>
      <member><citerefentry><refentrytitle>oomctl</refentrytitle><manvolnum>1</manvolnum></citerefentry></member>
    </simplelist></para>
  </refsect1>

</refentry>
