【发布时间】:2019-03-06 09:02:02
【问题描述】:
我在研究项目中使用 GraphDb Free 8.6.1,我在总共有 4GB 内存的 Linux 服务器上使用默认配置运行它。
目前,我们在tripplestore中执行了相当多的CRUD操作。
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 文件,没有异常,日志中没有任何可疑之处。以下行被刷新到控制台:Java HotSpot(TM) 64-Bit Server VM warning:
Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00007f5b4b6d0000, 65536, 1) failed; error='Cannot allocate memory' (errno=12)
请您帮我正确配置 GraphDB Triplestore 以消除堆空间异常?
谢谢。
【问题讨论】:
标签: graphdb