2015-11-19 98 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將繼續以這種較小的磁盤緩存大小運行,但警告表明性能可能不會最佳。