云数据库 GAUSSDB-内存:resilience_memory_reject_percent

时间:2024-11-13 14:45:09

resilience_memory_reject_percent

参数说明用于控制内存过载逃生功能的动态内存占用百分比。该参数仅在GUC参数use_workload_managerenable_memory_limit打开时生效。

参数类型:字符串

参数单位:

取值范围长度大于0的字符串。

该参数分为recover_memory_percent、overload_memory_percent两部分,这2个部分的具体含义如下:

  • recover_memory_percent:内存从过载状态恢复到正常状态的动态内存使用占最大动态内存的百分比,当动态内存使用小于最大动态内存乘以该值对应的百分比后,停止过载逃生并放开新连接接入,取值为0~100,设置为多少表示百分之多少。
  • overload_memory_percent:内存过载时动态内存使用占最大动态内存的百分比,当动态内存使用大于最大动态内存乘以该值对应的百分比后,表示当前内存已经过载,触发过载逃生kill会话并禁止新连接接入,取值为0~100,设置为多少表示百分之多少。

默认值"0,0",表示关闭内存过载逃生功能。

设置方式:该参数属于SIGHUP类型参数,请参见表1中对应设置方法进行设置。

例如,如下命令表示内存使用超过最大内存上限的90%后禁止新连接接入并kill堆积的会话,kill会话过程中内存恢复到最大内存的70%以下时停止kill会话并允许新连接接入。

gs_guc reload -Z datanode -N all -I all -c "resilience_memory_reject_percent='70,90'"

设置建议:如果该参数设置的百分比过小,则会频繁触发内存过载逃生流程,会使正在执行的会话被强制退出,新连接短时间接入失败,需要根据实际内存使用情况慎重设置。

设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。

  • 最大动态内存和已使用的动态内存可以通过gs_total_memory_detail视图查询获得,最大动态内存:max_dynamic_memory,已使用的动态内存:dynamic_used_memory。
  • recover_memory_percent和overload_memory_percent的值可以同时为0,除此之外,recover_memory_percent的值必须要小于overload_memory_percent,否则设置不会生效。
support.huaweicloud.com/centralized-devg-v8-gaussdb/gaussdb-40-0324.html