[CentOS] persistent change of max_stack_depth

Fri Aug 14 15:31:46 UTC 2015
Michael H <michael at wemoto.com>

Hi Thomas,


> Could anybody point me in the right direction for setting the kernel
> parameter, max_stack_depth, to 10240 for database tuning?
>
> I have currently set it by running 'ulimit -s 10240' but this does not
> survive a reboot.
>
>

Thanks for the response, I've been nosing around that file recently but 
noted the first two lines;

#This file sets the resource limits for the users logged in via PAM.
#It does not affect resource limits of the system services.

> Look at the file /etc/security/limits.conf
>
> For documentation, 'man limits.conf'
>
> - Thomas
> _______________________________________________
> CentOS mailing list
> CentOS at centos.org
> http://lists.centos.org/mailman/listinfo/centos
>

I added these two lines to the end of the file

*               soft    stack   12288
*               hard    stack   12288

in an attempt to set the stack depth to 12MB so that I can configure 
postgresql max_stack_depth = 10MB.

I rebooted, ulimit -s shows 12288.

When I restart my service (#It does not affect resource limits of the 
system services.) becomes apparent.

Aug 14 16:22:17 db1 pg_ctl[3177]: < 2015-08-14 16:22:17.839 BST >LOG: 
invalid value for parameter "max_stack_depth": 10240
Aug 14 16:22:17 db1 pg_ctl[3177]: < 2015-08-14 16:22:17.839 BST >DETAIL: 
  "max_stack_depth" must not exceed 7680kB.
Aug 14 16:22:17 db1 pg_ctl[3177]: < 2015-08-14 16:22:17.839 BST >HINT: 
Increase the platform's stack depth limit via "ulimit -s" or local 
equivalent.

So, I then run 'ulimit -s 12288' and still can't restart my service.

How can I increase stack depth for system processes, not just PAM 
authenticated users?

Thanks in advance,

Michael