-
- nebula 版本:3.6.0
- 部署方式:分布式
- 安装方式:TAR包安装
- 是否上生产环境:Y
- 硬件信息
- 存储:1.2T(非SSD)
- CPU:16C
- 内存:64G
- 数量:6台
- 问题的具体描述
nebula-graphd服务最近频繁挂掉,基本上一天挂一次,但是最近未做什么变更。目前有大量查询,qps在8k-1w左右,设置的graphd的memory_tracker为0.1,untracked_reserved_meomory_mb为100,挂掉时间点的日志有GraphMemoryExceeded和E_GRAPH_MEMORY_EXCEEDED报错,dmesg | grep nebula后存在内存越界的错误,请问是因为某些查询占用内存大,导致触发了GraphMemoryExceeded->E_GRAPH_MEMORY_EXCEEDED->内存越界,最终导致了graphd进程被kill掉吗?
graphd 和其他服务部署在一起吗?其他服务怎么设置的?案例来说,如果 memory tracker 限制住的话,进程不应该被 kill。以前是正常的?不知道有么有现在和以前的对比吗?比如是不是查询返回的数据量多了?因为有可能以前没查到一些超级节点,现在有了
graphd和storaged、metad部署在一起,机器上没有其他服务了。
graphd服务的memory tracker是0.1,untracked_reserved_meomory_mb是100。storaged服务的memory tracker是0.7,untracked_reserved_meomory_mb是100。
和以前相比没有什么区别,可能区别就是每天的数据量都在增加,增量大概在百万级别。
超级节点我们做过限制,最多返回1000条边(max_edge_returned_per_vertex)