stack_size 用于设置程序函数调用栈的大小。配置时需说明单位,默认单位为 MB。
stack_size 对应的内存模块为 CoStack。该参数的取值范围为 [512K-20M],在 OceanBase 数据库 V3.x 版本中,其默认值为 1M,在 OceanBase 数据库 V4.x 版本中,其默认值为 512K。
性能和内存资源的权衡
stack_size越大:- 优点:能够提供更多的线程栈信息,有助于问题定位。
- 缺点:消耗更多的内存资源,可能导致系统内存不足,尤其是在租户内存资源有限的情况下。
stack_size越小:- 优点:减少内存消耗。
- 缺点:在故障定位时能够获得的信息可能有限,影响问题分析的准确性。
故障定位建议
在进行故障定位时,建议临时增大 stack_size 参数,以便获取更详细的线程栈信息,这有助于快速识别和解决问题。但在问题定位完成后,强烈建议将该参数恢复为默认值,以避免因栈大小过大而引发内存不足的问题。
适用版本
OceanBase 数据库 V3.x、V4.x 版本。