memory tracker不能阻止graphd 的OOM

nebula 版本:3.4.1
部署方式:集群
安装方式:RPM
是否为线上版本:Y
硬件信息
CPU 4核 x 3
内存 8G x 3

用memory tracker设置了graphd和storaged的内存上限,因为两个进程是混合部署,分别设定ratio是0.3和0.3;但经过性能测试发现,graphd的内存限制并没有生效,storaged的内存限制偶尔可以生效,但仍不能防止OOM。
请问Memory tracker无法对graphd的内存进行限制是正常的吗?有其他方式可以预防graphd或storaged的OOM吗(特别是graphd)

memory tracker 并不干预写入路径,read 路径读到rocksdb 也不回干预

测试的查询场景,执行多条耗时的查询语句,没有一个被graphd的memory tracker拦截。

在graph conf文件中修改配置,然后观察下,有没有内存相关的日志

memory_tracker_detail_log=true
memory_tracker_detail_log_interval_ms=1000

1 个赞

问题解决了,因为system_memory_high_watermark_ratio设置为了1,影响了memory tracker生效。

:+1:

建议官方在文档中说明一下system_memory_high_watermark_ratio设置为1会影响memory tracker的生效

3 个赞

感谢,这是一个很重要的未描述的前提

这位也是您么?

这个组合可能是一个未定义行为哈? @codesigner

恩,system_memory_high_watermark_ratio这个参数如果设置成1, 的确会影响memory tracker的生效

1 个赞

嗯嗯,已经反馈给文档了,:thinking: 感谢你的反馈,如果方便的话,可以填写下这个问卷(这边给你送一份反馈小礼物么)收件信息表 - 腾讯问卷

2 个赞

感谢~

1 个赞

此话题已在最后回复的 30 天后被自动关闭。不再允许新回复。