From 62799fe778aa21e19eaef97997732c437ff6f7ed Mon Sep 17 00:00:00 2001 From: Mark Michelson <mmichelson@digium.com> 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 a41af90ed2..836d8f0937 100644 --- a/res/res_pjsip/config_system.c +++ b/res/res_pjsip/config_system.c @@ -145,7 +145,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)); -- GitLab