云数据库 GAUSSDB-内存:max_stack_depth

时间:2023-11-29 18:51:05

max_stack_depth

参数说明:设置 GaussDB 执行堆栈的最大安全深度。需要这个安全界限是因为在服务器里,并非所有程序都检查了堆栈深度,只是在可能递规的过程,比如表达式计算这样的过程里面才进行检查。

该参数属于SUSET类型参数,请参考表1中对应设置方法进行设置。

取值范围:整型,100~2147483647‬,单位为KB。

默认值:

  • (ulimit -s的设置)- 640 KB的值大于等于2MB时,此参数的默认值为2MB。
  • (ulimit -s的设置)- 640 KB的值小于2MB时,此参数的默认值为(ulimit -s的设置)- 640 KB。

设置原则:

  • 数据库需要预留640KB堆栈深度,因此此参数可设置的最大值等于操作系统内核允许的最大值(就是ulimit -s的设置)- 640KB。
  • 数据库未运行前设置的该参数值大于(ulimit -s的设置)- 640 KB时会导致数据库启动失败;数据库运行阶段设置该参数值大于(ulimit -s的设置)- 640 KB时该值不生效。
  • 若(ulimit -s的设置)-640KB小于此参数取值范围的最小值时会导致数据库启动失败。
  • 如果设置此参数的值大于实际的内核限制,则一个正在运行的递归函数可能会导致一个独立的服务器进程崩溃。
  • 因为并非所有的操作都能够检测,所以建议用户在此设置一个明确的值。
  • 默认值最大为2MB,这个值相对比较小,不容易导致系统崩溃。
support.huaweicloud.com/distributed-devg-v3-gaussdb/gaussdb-10-0263.html