diff options
author | Ralph Boehme <slow@samba.org> | 2020-05-12 15:30:05 +0200 |
---|---|---|
committer | Martin Schwenke <martins@samba.org> | 2020-05-13 13:30:12 +0000 |
commit | 6e419dda718cdb931f1d7d30926ed418a169415f (patch) | |
tree | 2b0a89f6280c1ec96a98f937bbf81af34ce6fafe /ctdb | |
parent | 393da520e43bd3a28feb231bcd9fd5308a3daa4a (diff) | |
download | samba-6e419dda718cdb931f1d7d30926ed418a169415f.tar.gz |
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 <slow@samba.org>
Reviewed-by: Martin Schwenke <martin@meltin.net>
Autobuild-User(master): Martin Schwenke <martins@samba.org>
Autobuild-Date(master): Wed May 13 13:30:12 UTC 2020 on sn-devel-184
Diffstat (limited to 'ctdb')
-rw-r--r-- | ctdb/config/ctdb.service | 1 |
1 files changed, 1 insertions, 0 deletions
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 |