在ArangoDB 2.4.0中我观察到以下内容。执行超时运行的查询时,似乎存在内存泄漏。说明:
我执行的查询持续时间超过设置request-timeout = 3600所允许的时间(例如在arangosh配置中)。
arandod开始工作,消耗CPU和RAM
在给定时间(此处:3600秒)后,查询将抛出一个
异常(2001 - could not connect to server
)顺便说一下
起初有点令人困惑,因为在我的情况下它不是连接错误,
这是一个超时错误)。
arangodb停止使用CPU,但没有释放使用的RAM。
到目前为止,即使在进一步使用时,RAM也没有再次下降。 我甚至可以卸载所有集合,因此必须阻止RAM 从其他方面来说。
只要我运行可以在超时到达之前完成的查询,就可以完美运行。
在这种情况下是否可能存在内存泄漏?或者我是否需要手动启动某种垃圾收集器或执行其他操作?
答案 0 :(得分:1)
好的,同时我至少有一些(部分?)答案:
在其中一些"错误情景"中,新的跳过清单索引在哪里
创建。这似乎是一个比想象的要长得多的任务,
并且还占用了大量额外的RAM空间。
现在,当杀死服务器并再次重新启动它时,服务器再次出现
想要做最初的索引构建,所以整个集合,
索引空间,新索引和大量临时RAM
需要。
Web界面似乎是单线程的,即使是arangosh命令也是如此 在此期间受阻。因此,如果您单击其他按钮或键入 例如,一个命令还需要加载其他集合 执行,简单地将被延迟......并且可能在某一点执行 你不希望他们再跑的时间。所以我宣布他们 作为我的初学者陷阱: - )