mirror of
https://github.com/systemd/systemd
synced 2024-10-15 20:45:09 +00:00
core: change TasksMax= default for system services to 15%
As it turns out 512 is max number of tasks per service is hit by too many applications, hence let's bump it a bit, and make it relative to the system's maximum number of PIDs. With this change the new default is 15%. At the kernel's default pids_max value of 32768 this translates to 4915. At machined's default TasksMax= setting of 16384 this translates to 2457. Why 15%? Because it sounds like a round number and is close enough to 4096 which I was going for, i.e. an eight-fold increase over the old 512 Summary: | on the host | in a container old default | 512 | 512 new default | 4915 | 2457
This commit is contained in:
parent
c06eec15d5
commit
79baeeb96d
|
@ -325,12 +325,11 @@
|
|||
<varlistentry>
|
||||
<term><varname>DefaultTasksMax=</varname></term>
|
||||
|
||||
<listitem><para>Configure the default value for the per-unit
|
||||
<varname>TasksMax=</varname> setting. See
|
||||
<listitem><para>Configure the default value for the per-unit <varname>TasksMax=</varname> setting. See
|
||||
<citerefentry><refentrytitle>systemd.resource-control</refentrytitle><manvolnum>5</manvolnum></citerefentry>
|
||||
for details. This setting applies to all unit types that
|
||||
support resource control settings, with the exception of slice
|
||||
units. Defaults to 512.</para></listitem>
|
||||
for details. This setting applies to all unit types that support resource control settings, with the exception
|
||||
of slice units. Defaults to 15%, which equals 4915 with the kernel's defaults on the host, but might be smaller
|
||||
in OS containers.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
|
|
|
@ -127,7 +127,7 @@ static bool arg_default_io_accounting = false;
|
|||
static bool arg_default_blockio_accounting = false;
|
||||
static bool arg_default_memory_accounting = false;
|
||||
static bool arg_default_tasks_accounting = true;
|
||||
static uint64_t arg_default_tasks_max = UINT64_C(512);
|
||||
static uint64_t arg_default_tasks_max = UINT64_MAX;
|
||||
static sd_id128_t arg_machine_id = {};
|
||||
|
||||
noreturn static void freeze_or_reboot(void) {
|
||||
|
@ -1558,6 +1558,8 @@ int main(int argc, char *argv[]) {
|
|||
(void) reset_all_signal_handlers();
|
||||
(void) ignore_signals(SIGNALS_IGNORE, -1);
|
||||
|
||||
arg_default_tasks_max = system_tasks_max_scale(15U, 100U); /* 15% the system PIDs equals 4915 by default. */
|
||||
|
||||
if (parse_config_file() < 0) {
|
||||
error_message = "Failed to parse config file";
|
||||
goto finish;
|
||||
|
|
|
@ -569,7 +569,7 @@ int manager_new(UnitFileScope scope, bool test_run, Manager **_m) {
|
|||
m->exit_code = _MANAGER_EXIT_CODE_INVALID;
|
||||
m->default_timer_accuracy_usec = USEC_PER_MINUTE;
|
||||
m->default_tasks_accounting = true;
|
||||
m->default_tasks_max = UINT64_C(512);
|
||||
m->default_tasks_max = UINT64_MAX;
|
||||
|
||||
#ifdef ENABLE_EFI
|
||||
if (MANAGER_IS_SYSTEM(m) && detect_container() <= 0)
|
||||
|
|
|
@ -42,7 +42,7 @@
|
|||
#DefaultBlockIOAccounting=no
|
||||
#DefaultMemoryAccounting=no
|
||||
#DefaultTasksAccounting=yes
|
||||
#DefaultTasksMax=512
|
||||
#DefaultTasksMax=15%
|
||||
#DefaultLimitCPU=
|
||||
#DefaultLimitFSIZE=
|
||||
#DefaultLimitDATA=
|
||||
|
|
Loading…
Reference in a new issue