超时后内存泄漏?

时间:2015-01-17 08:37:29

标签: arangodb

在ArangoDB 2.4.0中我观察到以下内容。执行超时运行的查询时,似乎存在内存泄漏。说明:

  1. 我执行的查询持续时间超过设置request-timeout = 3600所允许的时间(例如在arangosh配置中)。

  2. arandod开始工作,消耗CPU和RAM

  3. 在给定时间(此处:3600秒)后,查询将抛出一个     异常(2001 - could not connect to server)顺便说一下     起初有点令人困惑,因为在我的情况下它不是连接错误,     这是一个超时错误)。

  4. arangodb停止使用CPU,但没有释放使用的RAM。

  5. 到目前为止,即使在进一步使用时,RAM也没有再次下降。     我甚至可以卸载所有集合,因此必须阻止RAM     从其他方面来说。

  6. 只要我运行可以在超时到达之前完成的查询,就可以完美运行。

    在这种情况下是否可能存在内存泄漏?或者我是否需要手动启动某种垃圾收集器或执行其他操作?

1 个答案:

答案 0 :(得分:1)

好的,同时我至少有一些(部分?)答案:

  1. 在其中一些"错误情景"中,新的跳过清单索引在哪里 创建。这似乎是一个比想象的要长得多的任务, 并且还占用了大量额外的RAM空间。

    现在,当杀死服务器并再次重新启动它时,服务器再次出现 想要做最初的索引构建,所以整个集合, 索引空间,新索引和大量临时RAM 需要。

  2. Web界面似乎是单线程的,即使是arangosh命令也是如此 在此期间受阻。因此,如果您单击其他按钮或键入 例如,一个命令还需要加载其他集合 执行,简单地将被延迟......并且可能在某一点执行 你不希望他们再跑的时间。所以我宣布他们 作为我的初学者陷阱: - )