BigDataLite 2.4.1 java.lang.OutOfMemoryError:PermGen空间

时间:2014-03-31 07:37:45

标签: oracle out-of-memory bigdata nosql

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



  

java.lang.OutOfMemoryError:PermGen space
    at java.lang.Class.getDeclaredConstructors0(Native Method)
    在java.lang.Class.privateGetDeclaredConstructors(Class.java:2493)
    在java.lang.Class.getConstructor0(Class.java:2803)
    在java.lang.Class.newInstance(Class.java:345)
    at sun.reflect.MethodAccessorGenerator $ 1.run(MethodAccessorGenerator.java:399)
    截断。查看完整堆栈跟踪的日志文件
  引起者:java.lang.OutOfMemoryError:PermGen space
    at java.lang.Class.getDeclaredConstructors0(Native Method)
    在java.lang.Class.privateGetDeclaredConstructors(Class.java:2493)
    在java.lang.Class.getConstructor0(Class.java:2803)
    在java.lang.Class.newInstance(Class.java:345)
    at sun.reflect.MethodAccessorGenerator $ 1.run(MethodAccessorGenerator.java:399)
    截断。请参阅日志文件以获取完整的堆栈跟踪

     

线程中的异常" [ACTIVE] ExecuteThread:' 0'对于队列:' weblogic.kernel.Default(自我调整)'"   异常:java.lang.OutOfMemoryError从线程中的UncaughtExceptionHandler抛出" [ACTIVE] ExecuteThread:' 0'对于队列:' weblogic.kernel.Default(自我调整)'"   线程中的异常" [ACTIVE] ExecuteThread:' 6'对于队列:' weblogic.kernel.Default(自我调整)'"   例外:从线程中的UncaughtExceptionHandler抛出的java.lang.OutOfMemoryError" [ACTIVE] ExecuteThread:' 6'对于队列:' weblogic.kernel.Default(自我调整)'"   线程中的异常" [ACTIVE] ExecuteThread:' 5'对于队列:' weblogic.kernel.Default(自我调整)'"   例外:从线程中的UncaughtExceptionHandler抛出的java.lang.OutOfMemoryError" [ACTIVE] ExecuteThread:' 5'对于队列:' weblogic.kernel.Default(自我调整)'"   线程中的异常" [ACTIVE] ExecuteThread:' 7'对于队列:' weblogic.kernel.Default(自我调整)'"   异常:java.lang.OutOfMemoryError从线程中的UncaughtExceptionHandler抛出" [ACTIVE] ExecuteThread:' 7'对于队列:' weblogic.kernel.Default(自我调整)'"   线程中的异常" [ACTIVE] ExecuteThread:' 2'对于队列:' weblogic.kernel.Default(自我调整)'"   例外:从线程中的UncaughtExceptionHandler抛出的java.lang.OutOfMemoryError" [ACTIVE] ExecuteThread:' 2'对于队列:' weblogic.kernel.Default(自我调整)'"   线程中的异常" [ACTIVE] ExecuteThread:' 4'对于队列:' weblogic.kernel.Default(自我调整)'"   例外:从线程中的UncaughtExceptionHandler抛出的java.lang.OutOfMemoryError" [ACTIVE] ExecuteThread:' 4'对于队列:' weblogic.kernel.Default(自我调整)'"   线程中的异常" [ACTIVE] ExecuteThread:' 8'对于队列:' weblogic.kernel.Default(自我调整)'"   例外:从线程中的UncaughtExceptionHandler抛出的java.lang.OutOfMemoryError" [ACTIVE] ExecuteThread:' 8'对于队列:' weblogic.kernel.Default(自我调整)'"   线程中的异常" [ACTIVE] ExecuteThread:' 1'对于队列:' weblogic.kernel.Default(自我调整)'"   例外:从线程中的UncaughtExceptionHandler抛出的java.lang.OutOfMemoryError" [ACTIVE] ExecuteThread:' 1' for queue:' weblogic.kernel.Default(自我调整)'"



我甚至已经将基本内存增加到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 个答案:

答案 0 :(得分:1)

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

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

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

之后,重新启动JDeveloper。