PermGen space的全称是Permanent Generation space,是指内存的永久保存区域。这一部分用于存放Class和Meta的信息,Class在被 Load的时候被放入PermGen space区域,它和存放Instance的Heap区域不同,GC(Garbage Collection)不会在主程序运行期对PermGen space进行清理,所以如果APP会LOAD很多CLASS的话,就很可能出现PermGen space错误。 
解决方法: 
参考解决方法:

  • 1、Increase MaxPerm size 
  • eg: -XX:+MaxPermSize=256m
  • 2、These additional parameters may also be helpful in some cases.
  • eg: -Xmn1228m -XX:+AggressiveHeap -Xms2048m -Xmx2048m
  • 3、Enable JVM GC logging to analyse the issue if problem still persists by setting following parameter
  • eg: -verbose:gc -XX:+PrintGCDetails
  •  

 

我的解决方案:可以在weblogic中设置setDomainEnv.sh :

     参数 MEM_ARGS="-Xms512m -Xmx512m -XX:MaxPermSize=512m"

最终成功解决!!

其中,-XX:+AggressiveHeap: 
让JVM自动根据机器的内存和CPU数优化各种参数,通常内存会使用机器的最大物理内存。
 
同时也产生了hs_err_pid23131.log 
说明:java的应用有时候会因为各种原因Crash,这时候会产生一个类似java_errorpid.log的错误日志。 
在该日志中发现了如下信息: 
PSPermGen total 65536K, used 65535K [0x6e0c0000, 0x720c0000, 0x720c0000) 
  object space 65536K, 99% used [0x6e0c0000,0x720bffc0,0x720c0000) 
上面的信息能看出在Crash的时候,JVM的PermSize空间几乎已经消耗完了。因此,建议扩大PermSize和MaxPermSize的数值。

注:weblogic中修改jvm的地方总共有四处,如果不确定该修改哪几处文件可以全部就修改所有的jvm配置文件

commEnv.cmd 、commEnv.sh、setDomainEnv.cmd、setDomainEnv.sh。

修改这四个文件中的对应java_vendor下的MEM_ARGS="-Xms512m -Xmx512m -XX:MaxPermSize=512m"参数修改其jvm的堆内存区的大小。

weblogic启动时报错 java.lang.OutOfMemoryError: PermGen space的更多相关文章

  1. 使用eclipse启动系统时报错“ java.lang.OutOfMemoryError: PermGen space”问题的解决

    转载请注明出处:http://blog.csdn.net/dongdong9223/article/details/76571611 本文出自[我是干勾鱼的博客] 有的时候,使用eclipse启动系统 ...

  2. tomcat启动报错java.lang.OutOfMemoryError:PermGen space解决办法

    tomcat启动错误提示: 严重: Error waiting for multi-thread deployment of WAR files to completejava.util.concur ...

  3. Eclipse中启动tomcat报错java.lang.OutOfMemoryError: PermGen space的解决方法

    有的项目引用了太多的jar包,或者反射生成了太多的类,异或有太多的常量池,就有可能会报java.lang.OutOfMemoryError: PermGen space的错误, 我们知道可以通过jvm ...

  4. windows系统bat方式启动tomcat出现java.lang.OutOfmemoryError:PermGen Space 错误

    1.问题情景: 在部署项目时,将两个应用部署到同一个tomcat下,通过startup.bat启动服务时,控制台出现出现java.lang.OutOfmemoryError:PermGen Space ...

  5. Linux下启动tomcat报java.lang.OutOfMemoryError: PermGen space

    一.错误信息 java.lang.reflect.InvocationTargetException    at sun.reflect.NativeMethodAccessorImpl.invoke ...

  6. 程序报错java.lang.OutOfMemoryError: PermGen space

    参考文档: http://www.cnblogs.com/xwdreamer/archive/2011/11/21/2296930.html http://www.cnblogs.com/ceshi2 ...

  7. weblogic 内存溢出解决 java.lang.OutOfMemoryError: PermGen space

    解决办法: 1.在idea中,运行时给weblogic server中 VM options 配置增加内存的参数:-server -XX:PermSize=1024m -XX:MaxPermSize= ...

  8. 出现 java.lang.OutOfMemoryError: PermGen space 错误的原因及解决方法

    一.原因及解决方法[1] 1.原因:堆内存的永久保存去区内存分配不足(缺省默认为64M),导致内存溢出错误. 2.解决方法:重新分配内存大小,-Xms1024M -Xmx2048M -XX:PermS ...

  9. java.lang.OutOfMemoryError: PermGen space 解决办法

    最近在学习spring mvc时,用了大量的第三方jar包,导致启动tomcat时报内存溢出的错 java.lang.OutOfMemoryError: PermGen space 解决办法:在mye ...

随机推荐

  1. ARM入门实践(一)----Mini6410上最简单的LED点灯裸机程序

    Mini6410上最简单的LED点灯裸机程序 : 实验环境: 根据友善教程,要用ADS,据说现在都不用这个了,但是为了打开友善给的mcp工程,就下了一个,Win7下弄上兼容模式和管理员权限,再下一个S ...

  2. (转) Virtual function

    原文地址:http://en.wikipedia.org/wiki/Virtual_function In object-oriented programming, a virtual functio ...

  3. (转) 学习C++ -> 类(Classes)的定义与实现

    学习C++ -> 类(Classes)的定义与实现 一."类" 的介绍    在C++中, 用 "类" 来描述 "对象", 所谓的&q ...

  4. codeforces 340C Tourist Problem(公式题)

    转载请注明出处: http://www.cnblogs.com/fraud/          ——by fraud Tourist Problem Iahub is a big fan of tou ...

  5. user密码

    一.修改密码 alter user hr identified by hr; password/passw hr: SYS@test>password hr Changing password ...

  6. 在shell脚本中调用sqlplus

    #!/bin/bash sqlplus dc_file_data_js/dc_file_data_js << EOF1 set linesize 500; set pagesize 100 ...

  7. mysql之6备份恢复

    基本意义: 将数据另存到其他设备,以便于出现问题时恢复数据     为什么要备份: 灾难恢复:需求改变:测试     几个事先需要考虑的问题: 可以容忍丢失多长时间的数据?恢复要在多长时间内完成?是否 ...

  8. centos 6.5 安装php redis 扩展

    一.安装: 其中,添加PHP扩展需要用到 phpize,所以我们需要安装 php-devel 这个包. #yum install php-devel 然后编译安装phpredis: #git clon ...

  9. 关于《s3c2416裸跑环境配置》一文的一些补充

    <s3c2416裸跑环境配置>一文已经发表很长一段时间了,前两天突然收到邮件提示有人回复,原来网友jxyggg按照文中所讲去调试,却始终不能成功.问题的描述见原文后的回复,经过QQ交流,问 ...

  10. Android中动态更新TextView上的文字

    示例代码: 1.新线程,定时更新文字 class testThread extends Thread{ public void run() { Message message = new Messag ...