Увеличение пространства кучи, доступного для JVM: OutOfMemoryError: размер запрашиваемого массива превышает предел VM Ubuntu 64Bit Neo4j 2.0

Мои спецификации:

-Ubuntu 64bit

-Neo4j 2.0

-32 ГБ Рама

-AMD FX-8350 Eight COre Processor

Эта проблема:

Я делаю запрос на свой сервер Neo4j со следующим запросом:

MATCH (being:my_label_2) RETURN being 

И дает мне эту ошибку:

 OutOfMemoryError Requested array size exceeds VM limit StackTrace: java.lang.StringCoding$StringEncoder.encode(StringCoding.java:300) java.lang.StringCoding.encode(StringCoding.java:344) java.lang.String.getBytes(String.java:916) org.neo4j.server.rest.repr.OutputFormat.toBytes(OutputFormat.java:194) org.neo4j.server.rest.repr.OutputFormat.formatRepresentation(OutputFormat.java:147) org.neo4j.server.rest.repr.OutputFormat.response(OutputFormat.java:130) org.neo4j.server.rest.repr.OutputFormat.ok(OutputFormat.java:67) org.neo4j.server.rest.web.CypherService.cypher(CypherService.java:101) java.lang.reflect.Method.invoke(Method.java:606) org.neo4j.server.rest.transactional.TransactionalRequestDispatcher.dispatch(TransactionalRequestDispatcher.java:139) org.neo4j.server.rest.security.SecurityFilter.doFilter(SecurityFilter.java:112) 

Это отлично работает с «my_label_1», который возвращает около 30k результатов

Я считаю, что проблема:

У меня недостаточно памяти для моего JVM

Попытки исправить / вещи, которые я нашел в Интернете:

Я читал, что говорится в руководстве.

И что говорят Ubuntu Forums сделать

Поэтому я попытался перейти в мою папку neo4 (с CD как обычно) и запустить его с аргументами таким образом:

 sudo bin/neo4j start -Xmx4096M 

Однако это не сработало. Когда Neo4j запускается, он предупреждает меня, что мне может не хватать места:

 WARNING: Max 1024 open files allowed, minimum of 40 000 recommended. See the Neo4j manual. Using additional JVM arguments: -server -XX:+DisableExplicitGC -Dorg.neo4j.server.properties=conf/neo4j-server.properties -Djava.util.logging.config.file=conf/logging.properties -Dlog4j.configuration=file:conf/log4j.properties -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled 

Вопрос

Я знаю, что я определенно неправильно использую аргументы, я, честно говоря, не очень много разбираюсь в конфигурациях JVM. Как мне подойти к этому, я что-то упустил?

Вы должны установить JVM в файл conf/neo4j-wrapper.conf . Он должен выглядеть так:

 user@pc:> head -n 7 neo4j-enterprise-2.0.0/conf/neo4j-wrapper.conf wrapper.java.additional=-Dorg.neo4j.server.properties=conf/neo4j-server.properties wrapper.java.additional=-Djava.util.logging.config.file=conf/logging.properties wrapper.java.additional=-Dlog4j.configuration=file:conf/log4j.properties # Java Additional Parameters wrapper.java.additional=-XX:+UseConcMarkSweepGC wrapper.java.additional=-XX:+CMSClassUnloadingEnabled 

Обратите внимание, что вы можете настроить различные аспекты neo4j через разные файлы, поэтому лучше прочитать описание для каждого файла в этом каталоге conf/ , чтобы ознакомиться с тем, что можно сделать и как именно.