【发布时间】:2023-08-26 13:48:01
【问题描述】:
我正在运行几个 titandb / gremlin-server.sh 实例,但它在高负载下不断耗尽内存。如何以及在哪里设置文档中提到的属性?
我想将#jsr223.groovy.engine.keep.globals 设置为幻像。
谢谢
缓存管理
如果 Gremlin Server 处理大量独特的脚本,则 缓存将超出 Gremlin 服务器可用的内存,并且 OutOfMemoryError 将出现。脚本参数化有很长的路要走 解决这个问题并且内存不足应该不是问题 对于那些情况。如果有问题或没有脚本 由于给定用例的参数化(可能使用 with use of 会话),可以更好地控制脚本的性质 从客户端缓存,通过发出带有参数的脚本 帮助定义垃圾收集器应该如何处理引用。
该参数名为#jsr223.groovy.engine.keep.globals 并具有 四个选项:
hard - 在 JVM 的生命周期内缓存中可用(默认为 未指定)。
soft - 保留到内存“低”并且应该在之前回收 抛出 OutOfMemoryError。
weak - 即使内存充足也会收集垃圾。
phantom - 在被评估后立即移除 脚本引擎。
通过指定除 hard 以外的选项,OutOfMemoryError 在 应避免使用 Gremlin 服务器。当然,这种方法会来 不利的一面是编译的脚本可能会被垃圾收集,并且 因此从缓存中删除,迫使 Gremlin Server 重新编译 稍后。
【问题讨论】:
-
Titan 调用 ./scripts/empty-sample.groovy 这是我应该设置的地方吗?
标签: titan gremlin tinkerpop3