参数说明:用于控制内存过载逃生的动态内存占用百分比。该参数仅在GUC 参数
use_workload_manager 和enable_memory_limit 打开时生效。
该参数属于SIGHUP 类型参数,
请参考表15-1 中对应设置方法进行设置。
取值范围:字符串,长度大于0
该参数分为recover_memory_percent,、overload_memory_percent 2 部分,这2 个部分的
具体含义如下:
recover_memory_percent:内存从过载状态恢复正常状态的动态内存使用占最大动态内
存的百分比,
当动态内存使用小于最大动态内存乘以该值对应的百分比后,
停止过载逃生并
放开新连接接入,取值为0~100,设置为多少表示百分之多少。
overload_memory_percent:内存过载时动态内存使用占最大动态内存的百分比,当动态
内存使用大于最大动态内存乘以该值对应的百分比后,
表示当前内存已经过载,
触发过载逃
生kill 会话并禁止新连接接入,取值为0~100,设置为多少表示百分之多少。
默认值:'0,0',表示关闭内存过载逃生功能。
示例:
resilience_memory_reject_percent = '70,90'
表示内存使用超过最大内存上限的90%后禁止新连接接入并kill 堆积的会话,kill 会话
过程中内存恢复到最大内存的70%以下时停止kill 会话并允许新连接接入。
须知:
最大动态内存和已使用的动态内存可以通过gs_total_memory_detail 视图查询获得,
最大动态内存:
max_dynamic_memory,
已使用的动态内存:
dynamic_used_memory。
该参数如果设置的百分比过小,
则会频繁触发内存过载逃生流程,
会使正在执行的
会话被强制退出,新连接短时间接入失败,需要根据实际内存使用情况慎重设置。