2015-11-19 97 views
1

,我有一个错误,说我没有足够的内存来运行应用程序(根据其当前的配置),并要求我改变最大的高速缓存使用的内存限制应用程序使用Java的命令-Xmx:缓存不足OrientDB

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 [email protected]; 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 [email protected]; 2015-10-29 16:54:25+0000) is active. [OServer] 

的问题是,似乎是必点的命令某个类或jar文件,但他们不说的是,反正我试过jarfiles中orientdb核心-2.1。 5.jar和orientdb-core-2.1.5.jar。

所以我得到了以下错误:

nenhum atributo德宣言主要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) 

你知道如何解决它吗?

+0

我发现了一个形式给出,寻找文件orientdb服务器-config.xml中我发现链接到Java类,我可以直接对其进行更改或者找到他们是jar文件和改变他们。 –

回答

2

如果你把在输出仔细一看,你会看到该邮件被归类为警告,而不是错误。此消息试图表明没有足够的可用系统RAM来支持OrientDB创建的“磁盘缓存”的默认大小。磁盘缓存实际上是OrientDB从JVM堆中单独创建和使用的系统RAM。

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

您还可以看到,它选择了一个更小的尺寸为diskcache在邮件中。 OrientDB将继续以这种较小的磁盘缓存大小运行,但警告表明性能可能不会最佳。