2015-01-17 4 views
1

in ArangoDB 2.4.0 Я наблюдаю следующее. При выполнении запроса, который выполняется в тайм-ауте, похоже, происходит утечка памяти. Описание:Утечка памяти после тайм-аута?

  1. я выполнить запрос, который длится дольше, чем это разрешено установка запрос-тайм-аут = 3600 (например, в arangosh конфигурации).

  2. arandod начинает работать, потребляет CPU и RAM

  3. После заданного времени (здесь: 3600 секунд) запрос выдает исключение (2001 - could not connect to server), которые, кстати сначала был немного сбивает с толку, поскольку в моем случае это не ошибка подключения, это ошибка таймаута).

  4. arangodb останавливает использование процессора, но не освобождает оперативную память, которая была использована.

  5. До сих пор, даже при дальнейшем использовании, оперативная память никогда не снижалась. Я даже могу выгрузить все коллекции, поэтому оперативная память должна быть заблокирована от нескольких других.

До тех пор, пока я запускаю запросы, которые могут быть закончены до истечения таймаута, бегите отлично.

Возможно ли, что в таком случае происходит утечка памяти? Или мне приходится вручную запускать какой-то сборщик мусора или делать что-то еще?

+0

Так же, как дополнение: В настоящее время опять ситуации, как это: (A) больше не запрос внешнего Аранго не работает (B) arangod имеет 0% CPU (C) все коллекции выгружаются из памяти (D) arangod все еще использует qw GB RAM ........ После запуска shutdown (с помощью Ctrl-C) arangodb выполняет некоторую работу, работает на пару минут, тем самым уменьшая память , и THEN перераспределяет всю память снова и снова: даже больше, чем когда-либо использовалось раньше ..... в результате я должен убить процесс. –

+0

Удивительно, но то же самое происходит после перезагрузки: сервер работает с нескольких минут, тем самым беря всю оперативную память (и даже больше) .... –

+0

.... нет открытой оболочки.После закрытия интерфейса браузера также перестает работать arangodb. После повторного открытия интерфейса браузера я вижу, что 2 коллекции, используемые за полчаса до этого, загружаются «автоматически». После выгрузки их вручную, использование ОЗУ возвращается на 550K. После очередной перезагрузки arangod все, кажется, вернулось в нормальность. –

ответ

1

ОК, тем временем я по крайней мере, некоторые (частичные?) Ответы:

  1. В некоторых из этих «сценариев ошибок», также новые Skiplist индексы, где созданы. Кажется, это задачи, которые работают намного дольше, чем мысли, , а также занимают большую часть дополнительного пространства оперативной памяти.

    Теперь, когда убийство сервера и перезапустить его снова, сервер снова хочет сделать первоначальное здание индекса, поэтому вся коллекция, индекс пространства, новый индекс и большое количество временной памяти необходимы.

  2. веб-интерфейс кажется однопоточным, даже команды arangosh заблокированы тем временем. Итак, если вы нажмете на дополнительные кнопки или введите команду, например, также необходимо загрузить дополнительные коллекции, в то время как выполняется, просто будет отложено ... и возможно выполнено в точке времени, когда вы не ожидаете, что они будут запущены. Поэтому я объявляю им , как начинающих ловушки моего :-)

+0

После нескольких дней работы с arangodb, я очень часто наблюдаю схожие проблемы: если вы запускаете запрос, который (по каким-либо причинам) занимает слишком много времени или собирается выйти из ОЗУ и, таким образом, принуждает вас прервать систему, у вас есть только один шанс: убить сервер. В этом случае запуск следующего сервера может быть развернут в течение более длительного времени. К сожалению, до сих пор нет возможности: a) иметь обзор текущих выполняемых заданий arango (например, на панели управления) и b) для остановки/уничтожения/прерывания выделенного одного из них. –

Смежные вопросы