宠辱不惊,看庭前花开花落;去留无意,望天空云卷云舒
« »
2010-01-06Java

1,344 Views

java.lang.OutOfMemoryError: PermGen space及其解决方法

PermGen space的全称是Permanent Generation space,是指内存的永久保存区域OutOfMemoryError: PermGen space从表面上看就是内存益出,解决方法也一定是加大内存说说为什么会内存益出:这一部分用于存放Class和Meta的信息,Class在被 Load的时候被放入PermGen space区域,它和和存放Instance的Heap区域不同,GC(Garbage Collection)不会在主程序运行期对PermGen space进行清理,所以如果你的APP会LOAD很多CLASS的话,就很可能出现PermGen space错误这种错误常见在web服务器对JSP进行pre compile的时候
改正方法:-Xms256m -Xmx256m -XX:MaxNewSize=256m -XX:MaxPermSize=256m
2
在tomcat中redeploy时出现outofmemory的错误.
可以有以下几个方面的原因:
1,使用了proxool,因为proxool内部包含了一个老版本的cglib.
2, log4j,最好不用,只用common-logging
3, 老版本的cglib,快点更新到最新版
4,更新到最新的hibernate3.2

3

这里以tomcat环境为例,其它WEB服务器如jboss,weblogic等是同一个道理
一java.lang.OutOfMemoryError: PermGen space
PermGen space的全称是Permanent Generation space,是指内存的永久保存区域,
这块内存主要是被JVM存放Class和Meta信息的,Class在被Loader时就会被放到PermGen space中,
它和存放类实例(Instance)的Heap区域不同,GC(Garbage Collection)不会在主程序运行期对
PermGen space进行清理,所以如果你的应用中有很多CLASS的话,就很可能出现PermGen space错误,
这种错误常见在web服务器对JSP进行pre compile的时候如果你的WEB APP下都用了大量的第三方jar, 其大小
超过了jvm默认的大小(4M)那么就会产生此错误信息了
解决方法: 手动设置MaxPermSize大小
修改TOMCAT_HOME/bin/catalina.sh
在echo “Using CATALINA_BASE: $CATALINA_BASE”上面加入以下行:
JAVA_OPTS=”-server -XX:PermSize=64M -XX:MaxPermSize=128m
建议:将相同的第三方jar文件移置到tomcat/shared/lib目录下,这样可以达到减少jar 文档重复占用内存的目的
二java.lang.OutOfMemoryError: Java heap space
Heap size 设置
JVM堆的设置是指java程序运行过程中JVM可以调配使用的内存空间的设置.JVM在启动的时候会自动设置Heap size的值,
其初始空间(即-Xms)是物理内存的1/64,最大空间(-Xmx)是物理内存的1/4可以利用JVM提供的-Xmn -Xms -Xmx等选项可
进行设置Heap size 的大小是Young Generation 和Tenured Generaion 之和
提示:在JVM中如果98%的时间是用于GC且可用的Heap size 不足2%的时候将抛出此异常信息
提示:Heap Size 最大不要超过可用物理内存的80%,一般的要将-Xms和-Xmx选项设置为相同,而-Xmn为1/4的-Xmx值
解决方法:手动设置Heap size
修改TOMCAT_HOME/bin/catalina.sh
在echo “Using CATALINA_BASE: $CATALINA_BASE”上面加入以下行:
JAVA_OPTS=”-server -Xms800m -Xmx800m -XX:MaxNewSize=256m”
三实例,以下给出1G内存环境下java jvm 的参数设置参考:
JAVA_OPTS=”-server -Xms800m -Xmx800m -XX:PermSize=64M -XX:MaxNewSize=256m -XX:MaxPermSize=128m -Djava.awt.headless=true ”

三相关资料
题外话:经常看到网友抱怨tomcat的性能不如…,不稳定等,其实根据笔者几年的经验,从”互联星空到现在的房产门户网,我们
均使用tomcat作为WEB服务器,每天访问量百万多,tomcat仍然运行良好建议大家有问题多从自己程序入手,多看看java的DOC文档
并详细了解JVM的知识这样开发的程序才会健壮

随机日志

  • 2009年中国IT行业大事记
    2009年就要结束了,该是总结的时候了 一、手机类: 1 android已经升级很多版了,中国移动也出了ophone了,但这两者问题都不少。 2 大家都模仿iphone硬件和iphone应用商店 3 iphone上的应用大部分都是游戏。大量的手机淘金者也都感叹iphone上比较难出人头地了。不过大家还是期望着做国外软件。国内的不付费市场让人遗憾,大家都建议做外国软件比较好赚钱 4 手机扫黄,不仅扫了黄,还断了其他正规SP的收费。错杀一千不漏一人 5 移动支付,仍然不温不火。移动自...
  • MySQL的分支MariaDB进入最后冲刺阶段
    MySQL联合创始人Monty Widenius提供了MySQL的分支MariaDB候选版本。据报道MariaDB 5.1完全兼容MySQL 5.1,这个版本早在2008年11月就发布了,增加了很多新的功能和若干个新的补丁程序。开发者称这个候选版本非常稳定,将在不久的将来发布。   MariaDB基于事务的Maria存储引擎,替换了MySQL的MyISAM存储引擎,它使用了Percona的 XtraDB,InnoDB的变体,分支的开发者希望提供访问即将到来的MySQL 5.4 InnoDB性能。这个...
  • 提高程序执行效率,Web开发技巧30条
    目前的Web应用程序都趋于复杂化,从用户的角度而言,如何提高用户操作的响应速度,加快程序的执行效率,是Web开发人员应考虑的问题。   目前的Web应用程序愈发的复杂化,包括拥有富客户端以及大量的JavaScript编码等等,从用户角度而言,让页面加载得更快、对用户的操作响应得更及时,能够给用户提供更为友好的体验,这就需要开发人员应提高应用程序的执行效率,以下是关于提高程序执行效率的小技巧。   1.尽量避免使用DOM。当需要反复使用DOM时,先把对DOM的引用存到JavaScript本地变量里再使用。...
  • 从MySQL得到最大的性能
    优化是一项复杂的任务,因为它最终需要对整个系统的理解。当用你的系统/应用的小知识做一些局部优化是可能的时候,你越想让你的系统更优化,你必须知道它也越多。 ...
  • 秋染深山
    帽子峰林场美在天然纯朴。在此人们可以尽情地欣赏大自然的风光,是假日休闲度假的好去处。这是南雄论坛沈老的作品。...

日志信息 »

该日志于2010-01-06 21:00由 Alpha 发表在Java分类下, 你可以发表评论。除了可以将这个日志以保留源地址及作者的情况下引用到你的网站或博客,还可以通过RSS 2.0订阅这个日志的所有评论。

相关日志 »

随机日志

  • Spring中Quartz的配置
    jar包:       quartz.1.6.0.jar       jta.jar       commons-collection-3.2.jar       spring3.0的系列jar包 Quartz是一个强大的企业级任务调度框架,Spring中继承并简化了Quartz,下面就看看在Spring中怎样配置Quartz: 首先我们来写一个被调度的类: package com.kay.quartz; public class QuartzJob {     publ...
  • 产品经理的主要职责
    做为一名新进产品经理,甚至一名资深PM,你可能都或多或少对这个职位产生某种迷惑。到底什么是产品经理?这个职位的主要职责是什么?在IT产业的不同领域,甚至在同一领域的不同公司,这个职位的定义似乎都有不同。 本文尝试根据自己多年的产品经理经验,给出产品经理的主要职责。 虽然在不同的公司,产品经理的角色和职责互有差异,但是有一些关键职责是任何一个产品经理都应承担的。可以将其归纳为如下六个方面: 1、市场调研 市场调研是指研究市场以了解客户需求、竞争状况及市场力量(market forces),其最终目标...
  • [转]10件安装WordPress后需要做的事
    这又是一篇介绍安装WordPress之后需要做的事情,这是一个系列教程,Wopus系统能通过这个教程让各位菜鸟能学到东西,各位在看教程的过程中有任何疑问,欢迎留言。...
  • 产品经理(PM)职责介绍
    记得有一家大型的知名快速流转消费品企业,由于品牌扩张需要大量的专业职业经理人加盟。其中之一便是大量招聘产品经理。但当一些优秀的产品经理岗位的应聘者在谈到“对谁负责时”,这家企业的人力资源部长就说,对我们的市场部部长助理负责,也即是产品经理的顶头上司。一听这话,这批人马上走掉了一半!大家一致的看法是“搞都没搞清楚什么是产品经理?产品经理是做什么的?还招我们来干什么?”最后弄得大家很不愉快。 这个真实的故事说明:目前,我们中国的企业一方面拼命地向优秀的外企看齐,但...
  • 秋染深山
    帽子峰林场美在天然纯朴。在此人们可以尽情地欣赏大自然的风光,是假日休闲度假的好去处。这是南雄论坛沈老的作品。...

没有评论

发表评论 »

返回顶部