2016-06-22 11 views
2

Я хотел спросить, какие рекомендуемые/требуемые параметры необходимо передать OrientDB и JVM для правильной работы на 32-разрядной/x86-Windows-окнах?OrientDB 2.2. * + Встроенные Рекомендуемые параметры конфигурации/JVM 32-бит/x86

Мы работаем с OrientDB 2.2.2, и я вижу проблемы с OOM, если мы сконфигурируем Xmx + storage.diskCache.BufferSize общей стоимостью более 1.5gb. Если я установил общее значение ~ 1,4 гб, то поведение стабилизировалось бы немного больше. Мне также нужно установить memory.chunk.size в 400, чтобы увидеть запуск orientdb должным образом. Я пытаюсь следовать рекомендациям на странице настройки производительности, но кажется, что большая часть риторики предполагает 64-битную/x64-систему.

Вот что мы поставили:

  • -Xrs
  • -XX: + UseG1GC
  • -XX: + AggresiveOpts
  • -XX: CompileThreshold = 200
  • -XX: + HeapDumpOnOutOfMemoryError
  • -XX: MaxDirectMemorySize = 1g (настройки на 2g приводят к проблемам с стабильностью)
  • -Djna.nosys = истина (в соответствии с рекомендацией следующего вопроса orientdb GitHub)
  • -Dstorage.wal.syncOnPageFlush = FALSE
  • -Dstorage.diskcache.bufferSize = 712
  • -Dmemory.chunk.size = 400 (это требуется? Мы видели, гораздо более стабильное поведение Добавив)
  • -DORIENTDB_HOME = C: \ someLocation
  • -DSERVERLOGS_DIR = C: \ someLocation \ журналы
  • -Xms10m
  • -Xmx712m

Я хотел бы некоторые окончательные 32-битные рекомендации от OrientDB, если это возможно.

Заранее благодарен!

+0

Hi @Kazelin вы могли отправить сообщение об ошибке в журнал? Thx заранее –

+0

Привет @MichelaBonizzi, с настройками выше, мы не видим ошибки. Я ищу элементы конфигурации/оптимизации, чтобы гарантировать, что работа на 32-битной машине Windows не будет приводить к переработке проблем с обработкой/памятью. Я добавил значения Xmx и Xms, которые мы в настоящее время используем. Есть ли у специалистов OrientDB какие-либо рекомендации? – Kazelin

+0

У меня такая же проблема. Мы используем 32-разрядную Java для более универсальной совместимости и обновления OrientDB до 2.2.x (которая использует прямую память) затрудняет жизнь. Можно ли отключить прямую память для 32-разрядных систем с небольшим объемом памяти (<2 ГБ)? – 11101101b

ответ

1

Я смог получить 32-разрядный OrientDB, работающий в Windows, надежно со следующими изменениями. Я заметил, что производительность не так хороша, как у OrientDB 2.0, вероятно, потому что OrientDB теперь предполагает гораздо больше памяти, и 32-разрядная Java не может доставить.

В orientdb-сервер-config.xml:

  1. Меньшее WAL.

    • <entry value="true" name="storage.useWAL"/>
    • <entry value="32" name="storage.wal.maxSegmentSize"/>
    • <entry value="256" name="storage.wal.maxSize"/>
  2. Меньший размер блока памяти (по умолчанию MAX_INT 2147483647).

    • <entry name="memory.chunk.size" value="134217728"/>

В параметрах виртуальной машины Java:

  1. макс куча 512.
    • -Xmx512m
  2. Макс прямая память больше кучи, но достаточно низко, чтобы не запустить из памяти.
    • -XX:MaxDirectMemorySize=640m

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

  • Нет связанных вопросов^_^