我在我的服务器上安装了OrientDB 2.2.0,但无法启动它运行server.sh脚本。以前的版本在服务器上运行正常,当前版本在我的笔记本上运行。该服务器是Digital Ocean的一个小滴,Ubuntu 15.10 32位。我得到的错误如下。
最大直接内存大小无效:-XX:MaxDirectMemorySize = 512g 指定的大小超过最大可表示的大小。错误:可以 不创建Java虚拟机。错误:致命异常 发生了。程序将退出。
更新 问题出在-XX:MaxDirectMemorySize = 512g。我将其更改为-XX:MaxDirectMemorySize = 512m,错误消失。现在的问题是服务器尝试启动但是给我以下消息:
为当前服务器创建系统数据库'OSystem' [OSystemDatabase]线程“main”中的异常 java.lang.OutOfMemoryError:直接缓冲内存 at java.nio.Bits.reserveMemory(Bits.java:693) 在java.nio.DirectByteBuffer。(DirectByteBuffer.java:123) at java.nio.ByteBuffer.allocateDirect(ByteBuffer.java:311) 在com.orientechnologies.common.directmemory.OByteBufferPool.allocateBuffer(OByteBufferPool.java:309) 在com.orientechnologies.common.directmemory.OByteBufferPool.acquireDirect(OByteBufferPool.java:228) 在com.orientechnologies.orient.core.storage.cache.local.OWOWCache.cacheFileContent(OWOWCache.java:1255) 在com.orientechnologies.orient.core.storage.cache.local.OWOWCache.load(OWOWCache.java:617) 在com.orientechnologies.orient.core.storage.cache.local.twoq.O2QCache.updateCache(O2QCache.java:1200) 在com.orientechnologies.orient.core.storage.cache.local.twoq.O2QCache.doLoad(O2QCache.java:439) at com.orientechnologies.orient.core.storage.cache.local.twoq.O2QCache.allocateNewPage(O2QCache.java:489) at com.orientechnologies.orient.core.storage.impl.local.paginated.atomicoperations.AtomicOperation.commitChanges(OAtomicOperation.java:426) 在com.orientechnologies.orient.core.storage.impl.local.paginated.atomicoperations.OAtomicOperationsManager.endAtomicOperation(OAtomicOperationsManager.java:420) 在com.orientechnologies.orient.core.storage.impl.local.paginated.base.ODurableComponent.endAtomicOperation(ODurableComponent.java:118) 在com.orientechnologies.orient.core.storage.impl.local.paginated.OPaginatedCluster.create(OPaginatedCluster.java:197) at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.addClusterInternal(OAbstractPaginatedStorage.java:3349) at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.doAddCluster(OAbstractPaginatedStorage.java:3330) at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.create(OAbstractPaginatedStorage.java:381) at com.orientechnologies.orient.core.storage.impl.local.paginated.OLocalPaginatedStorage.create(OLocalPaginatedStorage.java:120) 在com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.create(ODatabaseDocumentTx.java:378) 在com.orientechnologies.orient.server.OSystemDatabase.init(OSystemDatabase.java:106) 在com.orientechnologies.orient.server.OSystemDatabase。(OSystemDatabase.java:42) 在com.orientechnologies.orient.server.OServer.initSystemDatabase(OServer.java:1217) 在com.orientechnologies.orient.server.OServer.activate(OServer.java:343) 在com.orientechnologies.orient.server.OServerMain.main(OServerMain.java:41)
答案 0 :(得分:2)
(代表OP发布)。
现在一切都还好。我刚刚将-XX:MaxDirectMemorySize=512m
更改为-XX:MaxDirectMemorySize=2g
。
答案 1 :(得分:0)
我想你有32位JVM。您应该将此值设置为-XX:MaxDirectMemorySize = 2g。