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 空间的主要内容,如果未能解决你的问题,请参考以下文章