关于Storage服务配置memory tracker的理解

提问参考模版:

  • nebula 版本:nebula-3.4.0
  • 部署方式:分布式
  • 安装方式:tar包
  • 是否上生产环境:N
  • 硬件信息
    • 磁盘(8 TB, SSD)* 10
    • CPU:40核
    • 内存:128G
  • 问题的具体描述
    目前正在测试memory tracker。测试环境的memory_tracker_limit_ratio值采用默认值0.8。目前环境的 可用内存/(总内存-保留内存) 的值小于0.8了,为什么还可以查询。是我理解的有问题吗,需要大佬们指导一下
    官网:

    测试环境配置文件:

    storage日志:

    查询日志:

日志里边显示的 sys: 系统已用内存/系统总内存 68.80% usr: 当前进程已用内存/当前用户可用内存 0.13%,其中 当前用户可用内存即为 memory tracker 追踪的内存(大概等于 系统内存* memory_tracker_limit_ratio),后面那个比例到 100% 才会报错。

1 个赞

好的,看来是我理解错了,谢谢大佬。

@user80 FYI,你的配置好像不合理,看上去系统中其他进程已经使用了 86G 内存,而 (125-86)/125 已经小于你设置的 memory_tracker_limit_ratio,如果这 86G 内存短时间内不会被回收的话,memory tracker 就起不到防止 OOM 的作用,你需要调小 memory_tracker_limit_ratio。

1 个赞

我开始理解memory_tracker_limit_ratio这个参数的配置值是和 (125-86)/125这个值进行比较。测试环境只是想模拟一下,理解一下这个参数的含义,86G释放不了,我故意启动的其它进程占用的。

了解了。

嗯,感谢大佬支持。

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