From f80a0ae49be93c654a1da156d4e1a9858cb3223a Mon Sep 17 00:00:00 2001 From: Mark Michelson Date: Mon, 2 Nov 2015 17:19:21 -0600 Subject: [PATCH] res_pjsip: Set threadpool max size default to 50. During a stress test of subscriptions, a huge blast of subscription-related traffic resulted in the threadpool expanding to a ridiculous number of threads. The balooning of threads resulted in an increase of memory, which led to a crash due to being out of memory. An easy fix for the particular test was to limit the size of the threadpool, thus reining in the amount of memory that would be used. It was decided that there really is no downside to having a non-infinite default value for the maximum size of the threadpool, so this change introduces 50 threads as the maximum threadpool size for the SIP threadpool. ASTERISK-25513 #close Reported by John Bigelow Change-Id: If0b9514f1d9b172540ce1a6e2f2ffa1f2b6119be --- res/res_pjsip/config_system.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/res/res_pjsip/config_system.c b/res/res_pjsip/config_system.c index 473eca8187..dfd92404bf 100644 --- a/res/res_pjsip/config_system.c +++ b/res/res_pjsip/config_system.c @@ -180,7 +180,7 @@ int ast_sip_initialize_system(void) OPT_UINT_T, 0, FLDSET(struct system_config, threadpool.auto_increment)); ast_sorcery_object_field_register(system_sorcery, "system", "threadpool_idle_timeout", "60", OPT_UINT_T, 0, FLDSET(struct system_config, threadpool.idle_timeout)); - ast_sorcery_object_field_register(system_sorcery, "system", "threadpool_max_size", "0", + ast_sorcery_object_field_register(system_sorcery, "system", "threadpool_max_size", "50", OPT_UINT_T, 0, FLDSET(struct system_config, threadpool.max_size)); ast_sorcery_object_field_register(system_sorcery, "system", "disable_tcp_switch", "yes", OPT_BOOL_T, 1, FLDSET(struct system_config, disable_tcp_switch));