OrientDB的缓存不足

时间:2015-11-19 16:12:16

标签: database caching install orientdb

在安装OrientDB期间,我有一个错误,说我没有足够的内存来运行应用程序(根据其当前配置)并要求我使用命令更改应用程序的最大缓存使用内存限制 - java上的Xmx:

    2015-11-19 13:28:38:658 WARNI Not enough physical memory available for `enter code here`DISKCACHE: 2.006MB (heap=455MB). Set lower Maximum Heap (-Xmx setting on JVM) and restart OrientDB. Now running with DISKCACHE=256MB [orientechnologies]
2015-11-19 13:28:38:660 INFO OrientDB config DISKCACHE=-497MB (heap=455MB os=2.006MB disk=54.664MB) [orientechnologies]
2015-11-19 13:28:38:786 INFO Loading configuration from: /home/jeferson/orientdb-community-2.1.5/config/orientdb-server-config.xml... [OServerConfigurationLoaderXml]
2015-11-19 13:28:39:149 INFO OrientDB Server v2.1.5 (build 2.1.x@r; 2015-10-29 16:54:25+0000) is starting up... [OServer]
2015-11-19 13:28:39:210 INFO Databases directory: /home/jeferson/orientdb-community-2.1.5/databases [OServer]
2015-11-19 13:28:39:275 INFO Listening binary connections on 0.0.0.0:2424 (protocol v.32, socket=default) [OServerNetworkListener]
2015-11-19 13:28:39:281 INFO Listening http connections on 0.0.0.0:2480 (protocol v.10, socket=default) [OServerNetworkListener]
2015-11-19 13:28:39:307 INFO Installing dynamic plugin 'studio-2.1.zip'... [OServerPluginManager]
2015-11-19 13:28:39:447 INFO Installing GREMLIN language v.2.6.0 - graph.pool.max=50 [OGraphServerHandler]
2015-11-19 13:28:39:447 INFO [OVariableParser.resolveVariables] Error on resolving property: distributed [orientechnologies]
2015-11-19 13:28:39:451 INFO Installing Script interpreter. WARN: authenticated clients can execute any kind of code into the server by using the following allowed languages: [sql] [OServerSideScriptInterpreter]
2015-11-19 13:28:39:452 INFO OrientDB Server v2.1.5 (build 2.1.x@r; 2015-10-29 16:54:25+0000) is active. [OServer]

问题是,似乎有必要将命令指向某个类或jarfile,但是他们不说是什么,无论如何我尝试了jarfiles orientdb-core-2.1.5.jar和orientdb-core-2.1.5。广口瓶中。

所以我收到了以下错误:

nenhum atributo de manifesto principal em /home/jeferson/orientdb-community-2.1.5/lib/orientdb-core-2.1.5.jar

    java -Xmx300m -jar /home/jeferson/orientdb-community-2.1.5/lib/orientdb-  server-2.1.5.jar
Exception in thread "main" java.lang.NoClassDefFoundError: com/orientechnologies/orient/core/exception/OConfigurationException
at com.orientechnologies.orient.server.OServerMain.create(OServerMain.java:26)
at com.orientechnologies.orient.server.OServerMain.main(OServerMain.java:40)
Caused by: java.lang.ClassNotFoundException: com.orientechnologies.orient.core.exception.OConfigurationException
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)

你知道怎么解决吗?

1 个答案:

答案 0 :(得分:3)

如果仔细查看输出,您会看到该消息被归类为警告,而不是错误。此消息试图表明没有足够的可用系统RAM来支持"磁盘缓存的默认大小" OrientDB创建的。磁盘缓存实际上是OrientDB创建的系统RAM,并与JVM堆分开使用。

我不确定OrientDB使用什么计算来选择磁盘缓存的默认大小,但它基于JVM堆大小设置,这就是它降低堆大小的原因。

您还会在消息中看到它为磁盘缓存选择了较小的大小。 OrientDB将继续以较小的磁盘缓存大小运行,但警告表明可能性能不佳。