# DWS_2000000028 DWS集群节点动态内存使用率超阈值
#### 告警解释
DWS每60秒采集集群各节点的动态内存使用率。如果某节点的动态内存使用率超过90%（可配置），则上报节点动态内存使用率超阈值告警；如果平均使用率低于85%（即上报阈值减去5%），则消除告警。
![](https://support.huaweicloud.com/mgtg-dws/public_sys-resources/note_3.0-zh-cn.png)
如果节点动态内存的平均使用率一直大于上报阈值，那么在24小时（可配置）后将再次发起告警。
#### 告警属性
| **告警ID**       | 告警归属 | **告警级别** | 告警类型  | 业务类型      | 是否可自动清除 |
|:---|:---|:---|:---|:---|:---|
| DWS_2000000028 | 租户面  | \>90% 紧急 | 操作告警 | 数据仓库服务 | 是       |
   
#### 告警参数
| 类别     | **参数名称** | **参数含义**                     |
|:---|:---|:---|
| 定位信息  | 名称         | DWS集群节点动态内存使用率超阈值。           |
| 定位信息  | 类型         | 操作告警。                        |
| 定位信息  | 发生时间      | 告警发生时间。                      |
| 附加信息 | 集群ID      | 集群resourceId、domain_id等详细信息。 |
   
#### 告警指标
调用[获取指定指标相关采集数据 - ListMetricsData](https://support.huaweicloud.com/api-dws/ListMetricsData.html)API接口获取该告警指标，其中接口中的指标名称为**InstanceMemory**。
- **请求示例** ：
  ```
  GET https://{Endpoint}/v1/{project_id}/clusters/{cluster_id}/dms/metrics/InstanceMemory?offset=0&limit=1&from=1786782138946&to=1786785551018&order_by=ctime&sort_by=desc
  ```
  
- **响应示例** **：**
  告警指标为响应结果中的**100 \* dynamic_used_memory/max_dynamic_memory**，其中 dynamic_used_memory表示已使用的动态内存；max_dynamic_memory表示最大动态内存。
  ```
  {
   "code": 0,
   "msg": "OK",
   "data": [
    {
     "other_used_memory": 0,
     "pooler_freeconn_memory": 0,
     "virtual_cluster_id": 81882,
     "process_used_memory": 2659,
     "pooler_conn_memory": 0,
     "max_shared_memory": 2983,
     "comm_used_memory": 46,
     "max_dynamic_memory": 12628,
     "max_cstore_memory": 1024,
     "max_topsql_memory": 100,
     "ctime": 1786782188000,
     "dynamic_used_shrctx": 182,
     "comm_peak_memory": 46,
     "dynamic_peak_shrctx": 185,
     "udf_reserved_memory": 773,
     "cstore_used_memory": 0,
     "storage_compress_memory": 0,
     "shared_used_memory": 2060,
     "dynamic_peak_memory": 986,
     "dynamic_used_memory": 603,
     "mmap_used_memory": 0,
     "host_id": 83729,
     "max_comm_memory": 2048,
     "topsql_used_memory": 0,
     "topsql_peak_memory": 0,
     "inst_name": "dn_6001",
     "max_process_memory": 17408
    }
   ],
   "count": 285
  }
  ```
  
 
#### 对系统的影响
动态内存长时间使用率高可能导致业务进程响应缓慢或不可用。
#### 可能原因
- 存在复杂的业务占用大量的动态内存资源。
- 集群动态内存配置过低，无法满足业务需求。
 
#### 处理步骤
1. **检查各节点的实例动态内存** **使用情况** 。
   
   1. [登录DWS管理控制台](https://console.huaweicloud.com/dws)。
   
   2. 在左导航栏选择"监控 \> 告警"，单击右上角**"集群选择"**下拉框，选中告警集群，查看集群最近7天的告警信息，通过定位信息锁定触发告警的节点名称。
   
   3. 在"集群 \> 集群列表"界面找到告警集群，在所在行操作列单击**"监控面板"**进入监控界面。
   
   4. 选择**"监控 \> 性能监控 \> 添加监控视图"** ，选择实例、实例动态内存使用率、想要查看的实例名，确认无误后单击"确定"。
      图1添加实例动态内存使用率监控视图   
      ![](https://support.huaweicloud.com/mgtg-dws/figure/zh-cn_image_0000002587065758.png "点击放大") 
   
   5. 即可在下方视图中查看当前集群各实例的实例动态内存使用率的具体情况，左上角可选择查看最近1/3/12/24小时/7天的动态内存使用率，判断是否有实例动态内存使用率突然增大的情况。
      图2实例动态内存使用率监控视图   
      ![](https://support.huaweicloud.com/mgtg-dws/figure/zh-cn_image_0000002617625449.png "点击放大")
      - 如果动态内存使用率频繁出现短时间内上升然后恢复正常的情况，说明是业务执行过程中的临时冲高，可通过调整告警阈值的方式减少告警的上报。
      
      - 如果动态内存使用率长时间一直较高，则说明集群负载过高，可以排查集群业务，或考虑提升集群的配置规格，详情请参见[弹性变更规格](https://support.huaweicloud.com/mgtg-dws/dws_01_0829.html)。
        
   
   
   
   
2. **检查** **动态内存使用率告警的配置是否合理** 。
   
   1. 根据实际集群的使用情况，进入"监控 \> 告警 \> 告警规则管理"界面。
   
   2. 在**"DWS集群节点动态内存使用率超阈值"**规则所在行"操作"列单击"修改"，进入"修改告警规则"界面。
   
   3. 调整告警阈值和检测周期配置项，其中上报阈值越大、检测周期越长，则告警的灵敏度越低；否则灵敏度越高。更详细的界面配置说明参考[告警规则](https://support.huaweicloud.com/mgtg-dws/dws_01_1242.html)。
   
   
   
   
3. **检查当前集群业务是否占用内存** **过高** 。
   
   1. 在"集群 \> 集群列表"界面找到集群，在所在行操作列单击"监控面板"进入监控界面。
   
   2. 在监控面板的页面中选择"监控 \> 实时查询"，切换至"实时查询"模块，单击![](https://support.huaweicloud.com/mgtg-dws/figure/zh-cn_image_0000002587065760.jpg)，选择"**dn最大内存峰值（mb）** "，查看使用内存最多的查询信息。
      图3查看内存信息   
      ![](https://support.huaweicloud.com/mgtg-dws/figure/zh-cn_image_0000002587225668.png "点击放大")
      
      
   
   3. 和业务侧确认后，选中需要终止的查询ID，单击"终止查询"。
   
   
   
   
4. 进一步优化处理，可参见**[降低内存的处理方案](https://support.huaweicloud.com/trouble-dws/dws_09_0113.html)**。
 
#### 告警清除
实例内存使用率下降后，自动消除告警。
