BigDataLite 2.4.1 java.lang.OutOfMemoryError:PermGen 空间

Posted

技术标签:

【中文标题】BigDataLite 2.4.1 java.lang.OutOfMemoryError:PermGen 空间【英文标题】:BigDataLite 2.4.1 java.lang.OutOfMemoryError: PermGen space 【发布时间】:2014-03-31 07:37:45 【问题描述】:

我是尝试 Oracle 大数据 NoSQL MoviePlex 动手实验室的初学者,并且在将电影数据加载到 NoSQL 后尝试加载索引页面时遇到了同样的错误。以下是 JDeveloper 上显示的错误消息。

java.lang.OutOfMemoryError: PermGen 空间 在 java.lang.Class.getDeclaredConstructors0(本机方法) 在 java.lang.Class.privateGetDeclaredConstructors(Class.java:2493) 在 java.lang.Class.getConstructor0(Class.java:2803) 在 java.lang.Class.newInstance(Class.java:345) 在 sun.reflect.MethodAccessorGenerator$1.run(MethodAccessorGenerator.java:399) 截断。查看完整堆栈跟踪的日志文件 引起:java.lang.OutOfMemoryError: PermGen space 在 java.lang.Class.getDeclaredConstructors0(本机方法) 在 java.lang.Class.privateGetDeclaredConstructors(Class.java:2493) 在 java.lang.Class.getConstructor0(Class.java:2803) 在 java.lang.Class.newInstance(Class.java:345) 在 sun.reflect.MethodAccessorGenerator$1.run(MethodAccessorGenerator.java:399) 截断。查看完整堆栈跟踪的日志文件

线程“[ACTIVE] ExecuteThread: '0' for queue:'weblogic.kernel.Default (self-tuning)'”中的异常 异常:从线程“[ACTIVE] ExecuteThread: '0' for queue:'weblogic.kernel.Default (self-tuning)'”中的 UncaughtExceptionHandler 抛出 java.lang.OutOfMemoryError 线程“[ACTIVE] ExecuteThread: '6' for queue: 'weblogic.kernel.Default (self-tuning)'”中的异常 异常:从线程“[ACTIVE] ExecuteThread:'6' for queue:'weblogic.kernel.Default (self-tuning)'”中的 UncaughtExceptionHandler 抛出 java.lang.OutOfMemoryError 线程“[ACTIVE] ExecuteThread: '5' for queue:'weblogic.kernel.Default (self-tuning)'”中的异常 异常:从线程“[ACTIVE] ExecuteThread: '5' for queue:'weblogic.kernel.Default (self-tuning)'”中的 UncaughtExceptionHandler 抛出 java.lang.OutOfMemoryError 线程“[ACTIVE] ExecuteThread: '7' for queue:'weblogic.kernel.Default (self-tuning)'”中的异常 异常:线程“[ACTIVE] ExecuteThread: '7' for queue:'weblogic.kernel.Default (self-tuning)'”中 UncaughtExceptionHandler 抛出 java.lang.OutOfMemoryError 线程“[ACTIVE] ExecuteThread: '2' for queue:'weblogic.kernel.Default (self-tuning)'”中的异常 异常:线程“[ACTIVE] ExecuteThread: '2' for queue:'weblogic.kernel.Default (self-tuning)'”中 UncaughtExceptionHandler 抛出 java.lang.OutOfMemoryError 线程“[ACTIVE] ExecuteThread: '4' for queue:'weblogic.kernel.Default (self-tuning)'”中的异常 异常:从线程“[ACTIVE] ExecuteThread: '4' for queue:'weblogic.kernel.Default (self-tuning)'”中的 UncaughtExceptionHandler 抛出 java.lang.OutOfMemoryError 线程“[ACTIVE] ExecuteThread: '8' for queue:'weblogic.kernel.Default (self-tuning)'”中的异常 异常:从线程“[ACTIVE] ExecuteThread: '8' for queue:'weblogic.kernel.Default (self-tuning)'”中的 UncaughtExceptionHandler 抛出 java.lang.OutOfMemoryError 线程“[ACTIVE] ExecuteThread: '1' for queue:'weblogic.kernel.Default (self-tuning)'”中的异常 异常:从线程“[ACTIVE] ExecuteThread: '1' for queue:'weblogic.kernel.Default (self-tuning)'”中的 UncaughtExceptionHandler 抛出 java.lang.OutOfMemoryError

我什至已将基本内存增加到 12000MB,因为有人告诉我它可能会解决问题,但仍然会出现此错误。

这些是我正在使用的工具和平台:- BigDataLite 2.4.1 - Oracle VM VirtualBox Oracle JDeveloper 11g 第 1 版

动手实验室链接:http://www.oracle.com/technetwork/topics/bigdata/articles/intro-to-oracle-nosql-db-hol-1937059.pdf

谁能帮我解决这个问题?

谢谢, 安

【问题讨论】:

【参考方案1】:

您需要在/home/oracle/.jdeveloper/system11.1.1.6.38.61.92/DefaultDomain/bin/下找到文件setDomainEnv.sh,并对其进行编辑。

找到字符串WLS_MEM_ARGS_64BIT="-Xms256m -Xmx512m"(我找到了两次)并在-Xmx512m之后添加"-XX:PermSize=256m -XX:MaxPermSize=256m",这样它看起来像:

WLS_MEM_ARGS_64BIT="-Xms256m -Xmx512m -XX:PermSize=256m -XX:MaxPermSize=256m".

之后,重新启动 JDeveloper。

【讨论】:

以上是关于BigDataLite 2.4.1 java.lang.OutOfMemoryError:PermGen 空间的主要内容,如果未能解决你的问题,请参考以下文章

Pentaho 中的 Hive 数据集成错误

Linux扩展根文件系统

Java基本问题

Java注解Annotation

反射随笔:反射包的结构

java项目启动服务器出错