BerkleyDb JE DbDump Необычное использование памяти
Мы используем BDB JE в одном из наших приложений, и DbDump
для резервного копирования базы данных. Интересные вещи произошли однажды. DbDump
начинает выбрасывать OutOfMemoryError
, Посмертный анализ показывает, что внутренними узлами BDB используется много памяти (IN
). Похоже, что BerkleyDB читает все наборы данных в памяти при резервном копировании, что довольно странно для меня.
Еще один странный факт заключается в том, что это поведение видно только тогда, когда окружение открыто самим приложением. Поэтому, когда DbDumb является единственным клиентом, открывающим среду, все выглядит нормально.
1 ответ
Рассматривали ли вы использование DbBackup
вместо? Я знаю, что они делают две разные вещи, но если все, что вам нужно сделать, это сделать резервную копию базы данных, нет необходимости извлекать все это в память, когда будет делать просто копирование файлов в другом месте. Или способность командной строки является решающим фактором здесь?