数据仓库服务 GAUSSDB(DWS)-内存:max_process_memory

时间:2024-04-12 10:20:15

max_process_memory

参数说明:设置一个数据库节点可用的最大物理内存。

参数类型:SIGHUP

取值范围:整型,2*1024*1024~INT_MAX/2,单位为KB。

默认值:非从备DN节点自动适配,一个机器部署多个DN情况下,公式为(物理内存大小)* 0.8 / (1+主DN个数);一个机器部署单个DN情况下,公式为(物理内存大小)* 0.6;当结果不足2GB时,默认取2GB。从备DN默认为12GB。

设置建议:

  • DN上该数值需要根据系统物理内存及单节点部署主DN个数决定的。一个机器部署多个DN情况下,max_process_memory计算公式如下:(物理内存大小 – vm.min_free_kbytes)* 0.8 / (n+主DN个数);一个机器部署单个DN情况下,max_process_memory计算公式公式如下:(物理内存大小 – vm.min_free_kbytes)* 0.6。该参数目的是尽可能保证系统的可靠性,不会因数据库内存膨胀导致节点OOM。这个公式中提到vm.min_free_kbytes,其含义是预留操作系统内存供内核使用,通常用作操作系统内核中通信收发内存分配,至少为5%内存。即, max_process_memory=物理内存*0.8/(n+主DN个数),其中,当集群规模小于256时, n=1;当集群规模大于256且小于512时, n=2;当集群规模超过512时,n=3。
  • 不推荐设置为最小阈值。
  • CN上该数值内存可设置与DN数值一样。
  • RAM :集群规划时分配给集群的最大使用内存。
  • GaussDB (DWS)从8.2.0版本开始,为了提升内存资源利用率,增大了单机器单DN部署形态的max_process_memory初始值,但当出现集群状态不均衡的情况下,两个主DN节点会同时在一个机器上,如果仍然使用max_process_memory初始值,机器可能出现OOM报错的情况。为此,8.2.0版本开始,max_process_memory参数更改为SIGHUP类型,可以通过手动设置的方式来动态调整;同时,新增max_process_memory_auto_adjust参数,当出现集群状态不均衡的情况下,CM会根据集群状态来动态调整max_process_memory,调整max_process_memory的计算公式为:(物理内存大小 – vm.min_free_kbytes)* 0.8 / 主DN个数。
support.huaweicloud.com/devg-820-dws/dws_04_0893.html