java - OrientDB 2.1 线程 "OrientDB WAL Flush Task"中出现 java.lang.OutOfMemoryError 异常(堆或 GC)

标签 java out-of-memory orientdb heap-memory wal

我正在 OrientDB v.2.1 上使用 console.sh 进行选择。 等待几分钟后,我得到以下输出:

java.lang.OutOfMemoryError: GC overhead limit exceeded

我有 6GB 可用 RAM,并且使用默认配置。

我尝试取消注释 JAVA_OPTS=-Xmx1024 将值更改为 4G,重新启动 orientdb 并再次运行查询...结果是:

Exception in thread "OrientDB WAL Flush Task (dati_scopus)" 
Error: java.lang.OutOfMemoryError: Java heap space

orientdb {db=dati_scopus}> java.lang.OutOfMemoryError: Java heap space
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.addConditionWaiter(AbstractQueuedSynchronizer.java:1855)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2068)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)

我该如何修复它才能得到结果?

更新:使用 2.2 版和默认配置的相同故事

Error: java.lang.OutOfMemoryError: GC overhead limit exceeded

最佳答案

要使用 OrientDB 控制台解决 OutOfMemoryError,请更改堆的最小和最大大小。

编辑 bin/console.sh 更改 exec 参数。例如,要使用最小 5GB 和最大 6GB,请使用以下内容

exec "$JAVA" -Xms5g -Xmx6g -client $JAVA_OPTS $ORIENTDB_SETTINGS $SSL_OPTS

请务必删除 SSL_OPTS 参数中的 Xmx 值(否则它将覆盖之前给定的 Xmx,如果小于 Xms,则会显示错误)

关于java - OrientDB 2.1 线程 "OrientDB WAL Flush Task"中出现 java.lang.OutOfMemoryError 异常(堆或 GC),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37419616/

相关文章:

java - 我正在构建一个 REST 客户端来访问需要授权 header 的服务,但我不知道如何实现它

java - 如何搜索分成两行的单词?

java - 如何在WildFly(耳朵中)中配置EJB WebServices

android - ImageView 内存不足错误问题

java - Android 内存监控

lucene - OrientDB:全文索引与 Lucene 全文索引

orientdb - OrientDB SQL SELECT 语句中如何合并字段

java - 反编译其中包含嵌套类的类

Android Studio 模拟器崩溃,现在我无法启动 Android Studio

sql - Gremlin 如何像搜索功能一样查询相同的 sql