Weblogic Server PermGen错误

时间:2013-05-16 19:39:30

标签: weblogic application-server weblogic11g oracle-fusion-middleware

当我创建数据源并尝试连接到目标服务器时,我收到以下错误,我在哪里需要增加Weblogic 10.3.6中的空间?任何帮助都非常值得关注

  

Console遇到以下错误       weblogic.application.WrappedDeploymentException:PermGen space at       java.lang.ClassLoader.defineClass1(Native Method)at       java.lang.ClassLoader.defineClass(ClassLoader.java:791)at       java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)at at       java.net.URLClassLoader.defineClass(URLClassLoader.java:449)at at       java.net.URLClassLoader.access $ 100(URLClassLoader.java:71)at       java.net.URLClassLoader $ 1.run(URLClassLoader.java:361)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:423)at       sun.misc.Launcher $ AppClassLoader.loadClass(Launcher.java:308)at at       java.lang.ClassLoader.loadClass(ClassLoader.java:356)at       oracle.jdbc.driver.T4CTTIdcb.fillupAccessors(T4CTTIdcb.java:399)at at       oracle.jdbc.driver.T4CTTIdcb.receiveCommon(T4CTTIdcb.java:208)at at       oracle.jdbc.driver.T4CTTIdcb.receive(T4CTTIdcb.java:146)at at       oracle.jdbc.driver.T4C8Oall.readDCB(T4C8Oall.java:844)at at       oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:358)at at       oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:192)at at       

的oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:531)

4 个答案:

答案 0 :(得分:2)

在将WLS作为Windows服务运行时,即使在我的服务创建脚本中正确设置了MEM_ARGS,我也遇到了类似的问题。我最终通过更新一些Windows注册表项来解决它:

[HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ services \ wlsvc yerdomain_yerserver \ Parameters] [HKEY_LOCAL_MACHINE \ SYSTEM \ ControlSet002 \ services \ wlsvc yerdomain_yerserver \ Parameters] [HKEY_LOCAL_MACHINE \ SYSTEM \ ControlSet001 \ services \ wlsvc yerdomain_yerserver \ Parameters]

不确定为什么有3个条目,但在更新所有条目并重新启动服务后,一切都恢复正常。

答案 1 :(得分:1)

你应该做@better_user_mkstemp所说的,但是我也不能不注意到你的DataSource存在严重问题,Oracle DataSource是具体的,试着去 http://your_server:7001/console/dashboard并开始监控您的数据源并查看其中的数据源,并尝试使用this documentation

进行调整

答案 2 :(得分:1)

使用Sun JDK时PermGen空间内存不足错误

Bug:8589284 补充:2011年5月6日 平台:全部

当Sun JDK用作SOA受管服务器的JVM时,Oracle建议使用以下内存设置。如果未使用正确的内存设置,对任务详细信息应用程序(人工作流程)的重复操作可能会导致PermGen空间内存不足错误。

有关:

对于UNIX操作系统,请打开$ DOMAIN_HOME / bin / setSOADomainEnv.sh文件。

对于Windows操作系统,请打开DOMAIN_HOME \ bin \ setSOADomainEnv.cmd文件。

增加以下值:

PORT_MEM_ARGS =“$ {PORT_MEM_ARGS} -XX:PermSize = 256m -XX:MaxPermSize = 512m

答案 3 :(得分:1)

在我的情况下,解决方案是编辑DOMAIN\bin\setDomainEnv.cmd文件。在服务器按预期启动之前进行了以下修改:

  • -Xms-Xmx值增加了
  • -XX:PermSize-XX:MaxPermSize值也增加了

最后,但可能最重要的是

  • if "%JAVA_VENDOR%"=="Sun" (条件已更改为if "%JAVA_VENDOR%"=="Oracle" (,以便正确识别我的JVM。

在最后一次修改之前,内存更改仅部分反映到初始化的JVM,这意味着有关PermGen Space的参数被忽略了。