Я использую GraphDb Free 8.6.1 в исследовательском проекте и запускаю его с конфигурацией по умолчанию на сервере linux, имеющем всего 4 ГБ памяти.
В настоящее время мы выполняем довольно много CRUD-операций в tripplestore.
Возникла исключительная ситуация в GraphDB в консоли:
java.lang.OutOfMemoryError: Java heap space
-XX:OnOutOfMemoryError="kill -9 %p"
Executing /bin/sh -c "kill -9 1411"...
Если посмотреть на процесс, GraphDB запускается с параметром XX: MaxDirectMemorySize = 128G
Я не смог изменить даже с./ graph -Xmx3g, процесс все еще выполняется с XX: MaxDirectMemorySize = 128G.
Я попытался настроить параметр ./grapdh, установив GDB_HEAP_SIZE = 3072m, теперь процесс запускается с дополнительными параметрами -Xms3072m -Xmx3072m,но остается XX: MaxDirectMemorySize = 128G.
После обновления до GDB_HEAP_SIZE = 3072m, хранилище снова вышло из строя без файла .hprof, без исключения, ничего подозрительного в журналах.В консоль была выведена следующая строка: Предупреждение о виртуальной машине 64-разрядного сервера Java HotSpot (TM):
Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00007f5b4b6d0000, 65536, 1) failed; error='Cannot allocate memory' (errno=12)
Не могли бы вы помочь мне правильно настроить Tripplestore GraphDB, чтобы избавиться от исключений пространства кучи?
Спасибо.