From 5725d315940804ba80468e6e3b6ea4653587f109 Mon Sep 17 00:00:00 2001 From: rpm-build Date: Wed, 1 Aug 2018 13:19:39 +0200 Subject: [PATCH] pid1: bump DefaultTasksMax to 80% of the kernel pid.max value This should be hopefully high enough even for the very big deployments. RHEL-only: feature Related: RHEL-40924 --- man/systemd-system.conf.xml | 4 ++-- src/core/manager.c | 2 +- src/core/system.conf.in | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/man/systemd-system.conf.xml b/man/systemd-system.conf.xml index ae5b61b149..22919842f5 100644 --- a/man/systemd-system.conf.xml +++ b/man/systemd-system.conf.xml @@ -520,10 +520,10 @@ Configure the default value for the per-unit TasksMax= setting. See systemd.resource-control5 for details. This setting applies to all unit types that support resource control settings, with the exception - of slice units. Defaults to 15% of the minimum of kernel.pid_max=, kernel.threads-max= + of slice units. Defaults to 80% of the minimum of kernel.pid_max=, kernel.threads-max= and root cgroup pids.max. Kernel has a default value for kernel.pid_max= and an algorithm of counting in case of more than 32 cores. - For example, with the default kernel.pid_max=, DefaultTasksMax= defaults to 4915, + For example, with the default kernel.pid_max=, DefaultTasksMax= defaults to 26214, but might be greater in other systems or smaller in OS containers. diff --git a/src/core/manager.c b/src/core/manager.c index 90e72b0c02..8ddf37fdad 100644 --- a/src/core/manager.c +++ b/src/core/manager.c @@ -117,7 +117,7 @@ /* How many units and jobs to process of the bus queue before returning to the event loop. */ #define MANAGER_BUS_MESSAGE_BUDGET 100U -#define DEFAULT_TASKS_MAX ((CGroupTasksMax) { 15U, 100U }) /* 15% */ +#define DEFAULT_TASKS_MAX ((CGroupTasksMax) { 80U, 100U }) /* 80% */ static int manager_dispatch_notify_fd(sd_event_source *source, int fd, uint32_t revents, void *userdata); static int manager_dispatch_cgroups_agent_fd(sd_event_source *source, int fd, uint32_t revents, void *userdata); diff --git a/src/core/system.conf.in b/src/core/system.conf.in index 1c08aa4d22..4fe420c344 100644 --- a/src/core/system.conf.in +++ b/src/core/system.conf.in @@ -59,7 +59,7 @@ #DefaultIPAccounting=no #DefaultMemoryAccounting={{ 'yes' if MEMORY_ACCOUNTING_DEFAULT else 'no' }} #DefaultTasksAccounting=yes -#DefaultTasksMax=15% +#DefaultTasksMax=80% #DefaultLimitCPU= #DefaultLimitFSIZE= #DefaultLimitDATA=