GBase 8c
运维管理
文章

南大通用GBase 8c分布式场景故障分析及处理——内存问题

发表于2024-08-14 15:32:46408次浏览3个评论

南大通用GBase 8c数据库是一款具有多模多态特性的高性能企业级分布式数据库,支持行存、列存、内存等多种存储模式以及单机、主备、分布式部署形态。GBase 8c数据库安装包从南大通用官网获取,地址为https://www.gbase.cn/download/gbase-8c?category=INSTALL_PACKAGE

本文将对GBase 8c分布式场景下安装和运行过程中常见的内存问题分析并提供相应的处理方法,以期为使用GBase 8c的用户提供参考。

问题场景:cn 节点运行一段时候,直接挂掉。

解决方法如下:

第一步:查看日志

查看数据库日志,通过$GAUSSLOG/pg_log日志,查看可以看到报错内存不足:

能看到具体执行报错的 query sql。

第二步:尝试复现

此步骤是为了确认 是此sql导致的,还是已经内存不足,刚好执行到此sql的时候,报错了。

复现方法:根据报错sql,尝试去cn手动执行。同时观察  视图MEMORY_NODE_DETAIL。

需要在执行sql 之前,查看内存情况,执行的时候,不断查询此视图,查看内存变化。

1:如果 process_used_memory 一直涨,就是此sql导致的。如果不是,就是其他sql导致的,刚好到此sql 触发内存不足。

     这种情况需 查询pg_stat_activity 视图,找到耗内存的sql,再去复现确认。

2:如果是此sql导致,则需要判断是否为正常情况。即需要优化sql,还是增大 内存参数,处理此问题。

第三步:问题解决

1:调整参数后。(本次问题,为参数值不够用,并且jdbc调用有问题导致)

2:优化sql。

第四步:问题确认

问题经过处理后,需要进行问题确认,是否真正处理。

 

ps:文中所提到的 MEMORY_NODE_DETAIL 和 pg_stat_activity  视图含义如下:

评论

登录后才可以发表评论
用户头像
levvel发表于 9个月前
听说评论可以拿积分,我试一下子
GBase用户51885发表于 2个月前
加油
GBase用户47954发表于 1个月前
感谢作者的精彩分享!