<varname>MemoryPressureWatch=</varname> and <varname>MemoryPressureThresholdSec=</varname>
settings. See
<citerefentry><refentrytitle>systemd.resource-control</refentrytitle><manvolnum>5</manvolnum></citerefentry>
- for details. Defaults to <literal>auto</literal> and <literal>100ms</literal>, respectively. This
+ for details. Defaults to <literal>auto</literal> and <literal>200ms</literal>, respectively. This
also sets the memory pressure monitoring threshold for the service manager itself.</para></listitem>
</varlistentry>
</variablelist>
<listitem><para>Sets the memory pressure threshold time for memory pressure monitor as configured via
<varname>MemoryPressureWatch=</varname>. Specifies the maximum allocation latency before a memory
- pressure event is signalled to the service, per 1s window. If not specified defaults to the
+ pressure event is signalled to the service, per 2s window. If not specified defaults to the
<varname>DefaultMemoryPressureThresholdSec=</varname> setting in
<citerefentry><refentrytitle>systemd-system.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>
- (which in turn defaults to 100ms). The specified value expects a time unit such as
+ (which in turn defaults to 200ms). The specified value expects a time unit such as
<literal>ms</literal> or <literal>µs</literal>, see
<citerefentry><refentrytitle>systemd.time</refentrytitle><manvolnum>7</manvolnum></citerefentry> for
details on the permitted syntax.</para></listitem>
/* Default parameters for memory pressure watch logic in sd-event and PID 1 */
#define MEMORY_PRESSURE_DEFAULT_TYPE "some"
-#define MEMORY_PRESSURE_DEFAULT_THRESHOLD_USEC (100 * USEC_PER_MSEC)
-#define MEMORY_PRESSURE_DEFAULT_WINDOW_USEC USEC_PER_SEC
+#define MEMORY_PRESSURE_DEFAULT_THRESHOLD_USEC (200 * USEC_PER_MSEC)
+#define MEMORY_PRESSURE_DEFAULT_WINDOW_USEC (2 * USEC_PER_SEC)
* some 100000 1000000
* full 100000 1000000
*
- * We'll default to the middle level that both agree on */
+ * We'll default to the middle level that both agree on. Except we do it on a 2s window
+ * (i.e. 200ms per 2s, rather than 100ms per 1s), because that's the window duration the
+ * kernel will allow us to do unprivileged, also in the future. */
if (asprintf((char**) &write_buffer,
"%s " USEC_FMT " " USEC_FMT,
MEMORY_PRESSURE_DEFAULT_TYPE,
ls -al "$MEMORY_PRESSURE_WATCH"
-EXPECTED="$(echo -n -e "some 123000 1000000\x00" | base64)"
+EXPECTED="$(echo -n -e "some 123000 2000000\x00" | base64)"
test "$EXPECTED" = "$MEMORY_PRESSURE_WRITE"