]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
oomd: force DefaultMemoryPressureDurationSec= to be greater than or equal 1 sec
authorAnita Zhang <the.anitazha@gmail.com>
Fri, 26 Mar 2021 08:19:10 +0000 (01:19 -0700)
committerAnita Zhang <the.anitazha@gmail.com>
Fri, 2 Apr 2021 02:53:42 +0000 (19:53 -0700)
man/oomd.conf.xml
src/oom/oomd.c

index 6156c98fbd90dc04976a888deef5bf1fbc68d6c9..0ae7e109b1cb3bc5ae1442414eebcdae4d5d54af 100644 (file)
@@ -81,7 +81,7 @@
         <listitem><para>Sets the amount of time a unit's control group needs to have exceeded memory pressure
         limits before <command>systemd-oomd</command> will take action. Memory pressure limits are defined by
         <varname>DefaultMemoryPressureLimit=</varname> and <varname>ManagedOOMMemoryPressureLimit=</varname>.
-        Defaults to 30 seconds when this property is unset or set to 0.</para></listitem>
+        Must be set to 0, or at least 1 second. Defaults to 30 seconds when unset or 0.</para></listitem>
       </varlistentry>
 
     </variablelist>
index 6e2a5889d1e276bd8a8be810f6b5bfd811cdc5bb..deb7b094d504b49858f78f57a1ff9bf5361ac859 100644 (file)
@@ -155,6 +155,9 @@ static int run(int argc, char *argv[]) {
 
         assert_se(sigprocmask_many(SIG_BLOCK, NULL, SIGTERM, SIGINT, -1) >= 0);
 
+        if (arg_mem_pressure_usec > 0 && arg_mem_pressure_usec < 1 * USEC_PER_SEC)
+                log_error_errno(SYNTHETIC_ERRNO(EINVAL), "DefaultMemoryPressureDurationSec= must be 0 or at least 1s");
+
         r = manager_new(&m);
         if (r < 0)
                 return log_error_errno(r, "Failed to create manager: %m");