您当前的位置: 首页 > 网站编程 > JSP教程 > jsp开发中有关java.lang.OutOfMemoryError的产生及解决方法

jsp开发中有关java.lang.OutOfMemoryError的产生及解决方法

作者:guanchaofeng 来源:本站整理 发布时间: 2009-10-31 10:16 点击:
jsp开发中有关java.lang.OutOfMemoryError的产生及解决方法 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 作者:淘特网 出处:淘特网 注:转载请注明出处 这里以tomcat环境为例,其它WEB服务器如jboss,weblogic等是同一个道理。 一、java.lang.OutOfMemoryError:P

jsp开发中有关java.lang.OutOfMemoryError的产生及解决方法

  jsp开发中有关java.lang.OutOfMemoryError的产生及解决方法
  
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  
  作者:淘特网
  
  出处:淘特网
  
  注:转载请注明出处
  
  这里以tomcat环境为例,其它WEB服务器如jboss,weblogic等是同一个道理。
  
  一、java.lang.OutOfMemoryError:PermGenspace
  
  PermGenspace的全称是PermanentGenerationspace,是指内存的永久保存区域,
  
  这块内存主要是被JVM存放Class和Meta信息的,Class在被Loader时就会被放到PermGenspace中,
  
  它和存放类实例(Instance)的Heap区域不同,GC(GarbageCollection)不会在主程序运行期对
  
  PermGenspace进行清理,所以如果你的应用中有很多CLASS的话,就很可能出现PermGenspace错误,
  
  这种错误常见在web服务器对JSP进行precompile的时候。如果你的WEBAPP下都用了大量的第三方jar,其大小
  
  超过了jvm默认的大小(4M)那么就会产生此错误信息了。
  
  解决方法:手动设置MaxPermSize大小
  
  修改TOMCAT_HOME/bin/catalina.sh
  
  在“echo"UsingCATALINA_BASE:$CATALINA_BASE"”上面加入以下行:
  
  JAVA_OPTS="-server-XX:PermSize=64M-XX:MaxPermSize=128m
  
  建议:将相同的第三方jar文件移置到tomcat/shared/lib目录下,这样可以达到减少jar文档重复占用内存的目的。
  
  二、java.lang.OutOfMemoryError:Javaheapspace
  
  Heapsize设置
  
  JVM堆的设置是指java程序运行过程中JVM可以调配使用的内存空间的设置.JVM在启动的时候会自动设置Heapsize的值,
  
  其初始空间(即-Xms)是物理内存的1/64,最大空间(-Xmx)是物理内存的1/4。可以利用JVM提供的-Xmn-Xms-Xmx等选项可
  
  进行设置。Heapsize的大小是YoungGeneration和TenuredGeneraion之和。
  
  提示:在JVM中如果98%的时间是用于GC且可用的Heapsize不足2%的时候将抛出此异常信息。
  
  提示:HeapSize最大不要超过可用物理内存的80%,一般的要将-Xms和-Xmx选项设置为相同,而-Xmn为1/4的-Xmx值。
  
  解决方法:手动设置Heapsize
  
  修改TOMCAT_HOME/bin/catalina.sh
  
  在“echo"UsingCATALINA_BASE:$CATALINA_BASE"”上面加入以下行:
  
  JAVA_OPTS="-server-Xms800m-Xmx800m-XX:MaxNewSize=256m"
  
  三、实例,以下给出1G内存环境下javajvm的参数设置参考:
  
  JAVA_OPTS="-server-Xms800m-Xmx800m-XX:PermSize=64M-XX:MaxNewSize=256m-XX:MaxPermSize=128m-Djava.awt.headless=true"
  
  三、相关资料
  
  /show/3/7/20061112220131.htm
  
  /show/3/7/20061112220054.htm
  
  /show/3/7/20061112220201.htm
  
  题外话:经常看到网友抱怨tomcat的性能不如...,不稳定等,其实根据笔者几年的经验,从"互联星空“到现在的房产门户网,我们
  
  均使用tomcat作为WEB服务器,每天访问量百万多,tomcat仍然运行良好。建议大家有问题多从自己程序入手,多看看java的DOC文档
  
  并详细了解JVM的知识。这样开发的程序才会健壮。

分享到:
本文"jsp开发中有关java.lang.OutOfMemoryError的产生及解决方法"由远航站长收集整理而来,仅供大家学习与参考使用。更多网站制作教程尽在远航站长站。
顶一下
(0)
0%
踩一下
(0)
0%
[点击 次] [返回上一页] [打印]
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
关于本站 - 联系我们 - 网站声明 - 友情连接- 网站地图 - 站点地图 - 返回顶部
Copyright © 2007-2013 www.yhzhan.com(远航站长). All Rights Reserved .
远航站长:为中小站长提供最佳的学习与交流平台,提供网页制作与网站编程等各类网站制作教程.
官方QQ:445490277 网站群:26680406 网站备案号:豫ICP备07500620号-4