原文链接:www.gbase.cn/community/p…
更多精彩内容尽在南大通用GBase技术社区,南大通用致力于成为用户最信赖的数据库产品供应商。
南大通用GBase 8c数据库是一款具有多模多态特性的高性能企业级分布式数据库,支持行存、列存、内存等多种存储模式以及单机、主备、分布式部署形态。GBase 8c数据库安装包从南大通用官网获取,地址为www.gbase.cn/download/gb…
本文将对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 视图含义如下:
原文链接:www.gbase.cn/community/p…
更多精彩内容尽在南大通用GBase技术社区,南大通用致力于成为用户最信赖的数据库产品供应商。