我们的应用程序使用neo4j 3.5.x(尝试了社区版和企业版)来存储一些数据。
无论我们如何在conf / neo4j.conf中设置内存(尝试使用多种组合进行初始/最大堆设置(从4 GB到16 GB)),GC进程都会每3秒定期运行一次,使机器瘫痪,降低整个系统的速度。
有一种组合(8g / 16g)似乎使东西更稳定,但是在使用我们的系统后几分钟(20-30),GC再次在neo4j上启动并进入此“致命”循环。 / p>
如果不重新启动系统就重新启动neo4j服务器,则一旦系统开始查询neo4j,GC就会再次启动...(我们一直注意到此行为)。
我们有一个3.5.x社区实例,该实例从上周(当我们尝试转换为企业版)开始运行良好。我们已经将data /文件夹从企业复制到了社区实例,并启动了社区实例……只是使其行为与企业实例相同,每3秒运行一次GC。
感谢您的帮助。谢谢。
Screenshot of jvisualvm with 8g/16g of heap
在debug.log上,只有这些是有意义的:
2019-03-21 13:44:28.475 + 0000警告[o.n.b.r.BoltConnectionReadLimiter]通道[/127.0.0.1:50376]:客户端在工作程序队列上产生了301条消息,自动读取被禁用。 2019-03-21 13:45:15.136 + 0000 WARN [o.n.b.r.BoltConnectionReadLimiter]通道[/127.0.0.1:50376]:工作队列中的消耗消息低于100,启用了自动读取。 2019-03-21 13:45:15.140 + 0000警告[o.n.b.r.BoltConnectionReadLimiter]频道[/127.0.0.1:50376]:客户端在工作队列上产生了301条消息,自动读取被禁用。
我从jvisualvm屏幕快照显示的那段时间里摘录了neo4j.log,但是它有3500行...所以在Pastebin上:
neo4j.log excerpt from around the time time the jvisualvm screenshot was taken
JUST_PUT_THIS_TO_KEEP_THE_SO_EDITOR_HAPPY_IGNORE...
希望这会有所帮助,如果需要的话,我也有企业版的日志,尽管它们有些“ cahotic”(neo4j在它们之间重新启动)并且我没有jvisualvm屏幕截图