我们有一小部分gpdb集群。因此,很少有查询失败
系统相关信息
TOTAL RAM =30G
SWAP =15G
gp_vmem_protect_limit= 2700MB
TOTAL segment = 8 Primary + 8 mirror = 16
SEGMENT HOST=2
VM_OVERCOMMIT RATIO =72
Used this calc : http://greenplum.org/calc/#
症状
查询失败,错误消息如下所示:
ERROR: XX000: Canceling query because of high VMEM usage. Used: 2433MB, available 266MB, red zone: 2430MB (runaway_cleaner.c:135) (seg2 slice74 DATANODE01:40002 pid=11294) (cdbdisp.c:1320)
我们尝试过:
更改了以下参数 statement_mem从125 MB到8GB MAX_STATEMENT MEMORY从200 MB到16 GB
不确定究竟需要在哪里更改。还可以尝试了解错误的根本原因。
对它的任何帮助都会非常感激吗?
答案 0 :(得分:1)
gp_vmem_protect_limit适用于每个细分受众群。你有16个部分。根据您的细分和vm_protect,您需要2700MB X 16总内存。