From: Ralph Boehme Date: Tue, 12 May 2020 13:30:05 +0000 (+0200) Subject: ctdb: increase TasksMax limit, the systemd default is just 512 X-Git-Tag: ldb-2.2.0~514 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=6e419dda718cdb931f1d7d30926ed418a169415f;p=thirdparty%2Fsamba.git ctdb: increase TasksMax limit, the systemd default is just 512 In 2015 systemd introduced a TasksMax which limits the number of processes in a unit: https://lists.freedesktop.org/archives/systemd-devel/2015-November/035006.html The default of 512 may be too low in certain situations leading to vfork() failing with errno=EAGAIN when trying to spawn lock-helper processes. With the default for LockProcessesPerDB being 200 the increased TasksMax limit should cover the problematic scenario. Additional background: the failing vfork()s have been seen on production clusters and were tracked down to being logged in the context of ctdb calling tdb_repack(). Links: https://github.com/systemd/systemd/commit/9ded9cd14cc03c67291b10a5c42ce5094ba0912f https://www.suse.com/support/kb/doc/?id=000015901 https://success.docker.com/article/how-to-reserve-resource-temporarily-unavailable-errors-due-to-tasksmax-setting https://www.percona.com/blog/2019/01/02/tasksmax-another-setting-that-can-cause-mysql-error-messages/ Signed-off-by: Ralph Boehme Reviewed-by: Martin Schwenke Autobuild-User(master): Martin Schwenke Autobuild-Date(master): Wed May 13 13:30:12 UTC 2020 on sn-devel-184 --- diff --git a/ctdb/config/ctdb.service b/ctdb/config/ctdb.service index fd81c38e26d..dbe35281f56 100644 --- a/ctdb/config/ctdb.service +++ b/ctdb/config/ctdb.service @@ -8,6 +8,7 @@ ConditionFileNotEmpty=/etc/ctdb/nodes Type=forking LimitCORE=infinity LimitNOFILE=1048576 +TasksMax=4096 PIDFile=/run/ctdb/ctdbd.pid ExecStart=/usr/sbin/ctdbd_wrapper start ExecStop=/usr/sbin/ctdbd_wrapper stop