From: Vsevolod Stakhov Date: Sun, 12 Nov 2017 17:50:24 +0000 (+0000) Subject: [Fix] Do not spawn too many workers by default X-Git-Tag: 1.7.0~443 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=681417893d0f859d99690055143364898bfe880f;p=rspamd.git [Fix] Do not spawn too many workers by default --- diff --git a/src/libserver/cfg_utils.c b/src/libserver/cfg_utils.c index b0533f7b8..597d661ae 100644 --- a/src/libserver/cfg_utils.c +++ b/src/libserver/cfg_utils.c @@ -44,6 +44,7 @@ #define DEFAULT_MAX_PIC (1 * 1024 * 1024) #define DEFAULT_MAX_SHOTS 100 #define DEFAULT_MAX_SESSIONS 100 +#define DEFAULT_MAX_WORKERS 4 struct rspamd_ucl_map_cbdata { struct rspamd_config *cfg; @@ -1001,9 +1002,10 @@ rspamd_config_new_worker (struct rspamd_config *cfg, c->params = g_hash_table_new (rspamd_str_hash, rspamd_str_equal); c->active_workers = g_queue_new (); #ifdef HAVE_SC_NPROCESSORS_ONLN - c->count = sysconf (_SC_NPROCESSORS_ONLN); + c->count = MIN (DEFAULT_MAX_WORKERS, + MAX (1, sysconf (_SC_NPROCESSORS_ONLN) - 2)); #else - c->count = DEFAULT_WORKERS_NUM; + c->count = DEFAULT_MAX_WORKERS; #endif c->rlimit_nofile = 0; c->rlimit_maxcore = 0;