Neo4j 3.5 Java встроенный. Как увеличить размер кучи?

При использовании Neo4j, встроенного в Java, как мне увеличить размер кучи до 2 гигабайт?

Я пытался увеличить его до 4 гигабайт, используя

GraphDatabaseService graphDb = new GraphDatabaseFactory()
  .newEmbeddedDatabaseBuilder(new File("C:\\...\\graph.db"))
  .setConfig(GraphDatabaseSettings.pagecache_memory, "4096M")
  .newGraphDatabase();

как отмечено в руководстве, но это, похоже, не влияет на размер кучи, например
Макс.: 2 124 414 976 B на изображении ниже.


подробности

При поиске с одинаковой или минимальной стоимостью первый поиск требует сохранения

  1. Список каждого посещенного узла
  2. Очередь стоимости для каждого отношения не обрабатывается

При использовании Neo4j, встроенного в Java, приложение заканчивается

java.lang.OutOfMemoryError: GC overhead limit exceeded

Для мониторинга работающего приложения оно запускается с IntelliJ Community 2018.3 в режиме отладки с Visual VM 1.4.2.

Установщик IntelliJ Plugin VisualVM установлен.


РЕДАКТИРОВАТЬ

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

Хотя в настоящее время я не могу найти способ увеличить размер кучи для JVM при создании графика Neo4j с помощью Java API Neo4j, например

new GraphDatabaseFactory()

или же

new EnterpriseGraphDatabaseFactory()

при тестировании с использованием IntelliJ

создавая график с помощью

GraphDatabaseService graphDb = new GraphDatabaseFactory()
    .newEmbeddedDatabase(new File("C:\\...\\graph.db"));

и с помощью диалогового окна Intellj Run / Debug Configurations

и редактирование VM options добавив параметры конфигурации JVM для запуска размера кучи Xms и максимальный размер кучи Xmx например

-Xms4096m -Xmx4096m

куча была увеличена во время тестирования до 4,4294,967,296 B, и программа завершена, как и ожидалось.

0 ответов

Другие вопросы по тегам