Star

关于子图查询使用和释放问题

提问参考模版:

  • nebula 版本:v2.0.0-rc1
  • 部署方式:单机compose
  • 硬件信息
    • 磁盘:SSD
    • CPU、内存信息:Intel® Xeon® CPU E5-2630L v2 @ 2.40GHz、32G
  • 问题的具体描述

在尝试子图使用的过程中,我有以下疑问:
1、我按照2.0获取子图文档中操作,建立了一个子图,但子图建立之后如何赋予别名、如何使用?

(root@nebula) [yago]> LOOKUP ON Person WHERE Person.name == "Donald_Trump" | GET SUBGRAPH 1 STEPS FROM $-.VertexID;
省略若干行

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
Got 2 rows (time spent 179342881/179276114 us)                                                                                                                  
                                                                                                                                                                
Fri, 15 Jan 2021 01:53:55 EST

2、建立子图的过程中,内存加载了5G左右,结束查询后并未释放(查找路径后也出现同样的情况),如何释放当前子图内存呢?(图为查找了一次路径,一次子图之后的内存占用)

手动compact试过吗

还没,我来试一下

COMPACT之后仍然没有释放:
image

image

哪个进程占用的内存?graphd还是storaged

graphd

你多跑几次测一下会不会crash,我们内部看看能不能复现你这个问题

请问一下,你的数据规模有多大

节点加关系一共五六千万左右,Person节点300w左右

请问一下,你服务器是几核的,

你可以按照一下步骤操作一下,看看效果
1、 更改 配置文件 nebula-graph.config 中的
–num_netio_threads=0 更改为 --num_netio_threads=1
–num_worker_threads=0 更改为 --num_worker_threads=1
2、在服务器上执行以下两条命令
echo never | sudo tee /sys/kernel/mm/transparent_hugepage/enabled
echo never | sudo tee /sys/kernel/mm/transparent_hugepage/defrag
3、重启graphd服务
scripts/nebula.service restart graphd
4、重新用console连接到graphd,然后执行子图语句, 查看内存有没有释放

以上操作,你的console要连接到哪个graphd, 则在那个graphd的服务器上执行一遍

浙ICP备20010487号