??xml version="1.0" encoding="utf-8" standalone="yes"?>在线不卡一区二区,成人香蕉社区,wwwxxx在线观看http://www.aygfsteel.com/Steven-bot/category/49764.html眼睛能装下世界,Z却装不下眼泪? 一只风{一辈子只ؓ一根线冒险? 那不是一场游戏,ZL一根线늝心怀Q隐隐作| 那不是一D邂逅,Z飘在桥上的媄子,ȝq梦乡? 那不是一个梦境,Z你的温柔U语QL不经意的响vQ?/description>zh-cnSun, 26 Feb 2012 10:54:14 GMTSun, 26 Feb 2012 10:54:14 GMT60Tomcat的参数配|及一般问题的解决http://www.aygfsteel.com/Steven-bot/archive/2011/10/08/360161.htmlSteven_botSteven_botSat, 08 Oct 2011 01:34:00 GMThttp://www.aygfsteel.com/Steven-bot/archive/2011/10/08/360161.htmlhttp://www.aygfsteel.com/Steven-bot/comments/360161.htmlhttp://www.aygfsteel.com/Steven-bot/archive/2011/10/08/360161.html#Feedback0http://www.aygfsteel.com/Steven-bot/comments/commentRss/360161.htmlhttp://www.aygfsteel.com/Steven-bot/services/trackbacks/360161.html阅读全文

Steven_bot 2011-10-08 09:34 发表评论
]]>
tomcat启动jvm内存讄(转蝲) http://www.aygfsteel.com/Steven-bot/archive/2011/10/08/360159.htmlSteven_botSteven_botSat, 08 Oct 2011 01:31:00 GMThttp://www.aygfsteel.com/Steven-bot/archive/2011/10/08/360159.htmlhttp://www.aygfsteel.com/Steven-bot/comments/360159.htmlhttp://www.aygfsteel.com/Steven-bot/archive/2011/10/08/360159.html#Feedback0http://www.aygfsteel.com/Steven-bot/comments/commentRss/360159.htmlhttp://www.aygfsteel.com/Steven-bot/services/trackbacks/360159.html

LinuxQ?br style="line-height: 24px; " />?usr/local/apache-tomcat-5.5.23/bin目录下的catalina.sh
dQJAVA_OPTS=''-Xms512m -Xmx1024m''
要加“m”说明是MBQ否则就是KB了,在启动tomcat时会报内存不?br style="line-height: 24px; " />-XmsQ初始?br style="line-height: 24px; " />-XmxQ最大?br style="line-height: 24px; " />-XmnQ最?br style="line-height: 24px; " />Windows
在catalina.bat最前面加入
set JAVA_OPTS=-Xms128m -Xmx350m 
如果用startup.bat启动tomcat,OK讄生效.够成功的分配200M内存.
但是如果不是执行startup.bat启动tomcat而是利用windows的系l服务启动tomcat服务,上面的设|就不生效了,
是说set JAVA_OPTS=-Xms128m -Xmx350m 没v作用.上面分配200M内存OOM?.
windows服务执行的是bin\tomcat.exe.他读取注册表中的?而不是catalina.bat的设|?
解决办法:
修改注册表HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Tomcat Service Manager\Tomcat5\Parameters\JavaOptions
原gؓ
-Dcatalina.home="C:\ApacheGroup\Tomcat 5.0"
-Djava.endorsed.dirs="C:\ApacheGroup\Tomcat 5.0\common\endorsed"
-Xrs
加入 -Xms300m -Xmx350m  
重vtomcat服务,讄生效

文章出处Q飞诺网(www.firnow.com):http://dev.firnow.com/course/3_program/java/javajs/2008215/99782.html



Steven_bot 2011-10-08 09:31 发表评论
]]>
合理配置tomcat内存-java.lang.OutOfMemoryError: PermGen space及其解决Ҏ http://www.aygfsteel.com/Steven-bot/archive/2011/10/08/360158.htmlSteven_botSteven_botSat, 08 Oct 2011 01:30:00 GMThttp://www.aygfsteel.com/Steven-bot/archive/2011/10/08/360158.htmlhttp://www.aygfsteel.com/Steven-bot/comments/360158.htmlhttp://www.aygfsteel.com/Steven-bot/archive/2011/10/08/360158.html#Feedback0http://www.aygfsteel.com/Steven-bot/comments/commentRss/360158.htmlhttp://www.aygfsteel.com/Steven-bot/services/trackbacks/360158.html
转蝲自: http://it.chinawin.net/softwaredev/article-c4e1.html
不论是在开发还是在已经发布的项目中Q我们经怼到的一个问题:
    java.lang.OutOfMemoryError: PermGen spacePermGen space的全U是Permanent Generation space,是指内存的永久保存区域,OutOfMemoryError: PermGen space从表面上看就是内存溢出,解决Ҏ是加大内存。说说ؓ什么会内存溢出QPermGen space用于存放Class和Meta的信?Class在被 Load的时候被攑օPermGen space区域Q它和存放Instance的Heap区域不同,GC(Garbage Collection)不会在主E序q行期对PermGen spaceq行清理Q所以如果你的APPLICATION会LOAD很多CLASS的话,很可能出现PermGen space错误。这U错误常见在web服务器对JSPq行pre compile的时候。如果你的WEB APP下都用了大量的第三方jar, 其大超q了jvm默认的大?4M)那么׃产生此错误信息了。徏议:相同的W三方jar文gUȝ到tomcat/lib目录下,q样可以辑ֈ减少 jar 文档重复占用内存的目的?br style="line-height: 24px" />ҎҎQ?Xms256m -Xmx256m -XX:MaxNewSize=256m -XX:MaxPermSize=256m 其中-Xms<size> 为JVM初始化堆的大?br style="line-height: 24px" />        -Xmx<size> 为JVM堆的最大?br style="line-height: 24px" />        -XX:MaxNewSize 大新对象区,以减垃圑֛收器回收ơ数但是有的时候可能这L讄q会不行(比如Q当Server应用E序加蝲较多cLQ即jvm加蝲cLQ永久域?的对象急剧增加Q从而jvm不断调整怹域大,Z避免调整)Q你可以使用更多的参数配|,如: java -Xms512m -Xmx512m -XX:PermSize=64m -XX:MaxPermSize=128m
其中Q?nbsp;  -XX:MaxPermSize标志来增加永久域的大,-XX:PermSize标志讄初始?br style="line-height: 24px" />?果虚拟机启动时设|用的内存比较而在q种情况下有许多对象q行初始化,虚拟机就必须重复地增加内存来满使用。由于这U原因,我们一般把-Xms?-Xmx设ؓ一样大Q而堆的最大值受限于pȝ使用的物理内存。一般用数据量较大的应用程序会使用持久对象Q内存用有可能q速地增长。当应用E序需要的 内存出堆的最大值时虚拟机就会提C内存溢出,q且D应用服务崩溃。因此一般徏议堆的最大D|ؓ可用内存的最大值的80%?br style="line-height: 24px" />在tomcat中redeploy时出现outofmemory的错?
可以有以下几个方面的原因:
Q?使用了proxool,因ؓproxool内部包含了一个老版本的cglib.
2, log4j,最好不?只用common-logging
3, 老版本的cglib,快点更新到最新版?br style="line-height: 24px" />Q,更新到最新的hibernate3.2

--------------------------------------------------------------------------------------------------------------------------------

        主要包括避免d@环,应该及时释放U资源:内存, 数据库的各种q接Q防止一ơ蝲入太多的数据。导致java.lang.OutOfMemoryError的根本原因是E序不健壮。因此,从根本上解决Java内存溢出的唯一Ҏ是修改E序Q及时地释放没用的对象,释放内存I间?nbsp;遇到该错误的时候要仔细查程序,嘿嘿Q遇多一ơ这U问题之后,以后写程序就会小心多了?/p>

            3Q对resin容器Q同样可以在启动时对jvm讄内存限度。在bin文g夹下创徏一个startup.bat文gQ内容如下:
                 @echo off
                  call "httpd.exe"  "-Xms128M" "-Xmx256M"
                  :end 
                  其中"-Xms128M"为最内存,"-Xmx256M"为最大内存?/p>

   2.    优化E序Q释攑֞圾?/p>

           一ơ是用hibernate查询数据Ӟ一ơ查询过多的数据Q例?0000条,此时E序出错Q该ȝjava.lang.OutMemoryErrorQ后来调整了该部分的代码Q每ơ只取出指定量的数据Q成功的解决该问题?/p>

            q有一ơ是当测试h员loadRunner做压力测试时Qƈ?00个用hQ运行不到几分钟整个weblogic都瘫掉,真够狠的Q又是java.lang.OutOfMemoryError, PM叫我查同事写的代码,折腾了我好久Q结果发现原来是׃session的资源一直没有被释放产生的,真把俺给气死Q!Q在该工E中在web.xml文g中设|了一个session的侦听期Q当到session时Ӟq入指定的类q行相应处理Q而该同事在进行了自定义的处理后,没有通过session的invalidate()Ҏsession的资源释放,D当大扚wq发Ӟ造成内存溢出?/p>

            解决java.lang.OutOfMemoryError的方法有如下几种Q?/p>

  1. 增加jvm的内存大。方法有Q?/li>

            1Q在执行某个class文g时候,可以使用java -Xmx256M aa.class来设|运行aa.class时jvm所允许占用的最大内存ؓ256M?br style="line-height: 25px" />            2Q对tomcat容器Q可以在启动时对jvm讄内存限度。对tomcatQ可以在catalina.bat中添加:
 "set CATALINA_OPTS=-Xms128M -Xmx256M
  set JAVA_OPTS=-Xms128M -Xmx256M",或者把%CATALINA_OPTS%?JAVA_OPTS%代替?Xms128M -Xmx256M



1、PermGen space的全U是Permanent Generation space,是指内存的永久保存区域OutOfMemoryError: PermGen space从表面上看就是内存益出,解决Ҏ也一定是加大内存。说说ؓ什么会内存益出Q这一部分用于存放Class和Meta的信?Class在被 Load的时候被攑օPermGen space区域Q它和和存放Instance的Heap区域不同,GC(Garbage Collection)不会在主E序q行期对PermGen spaceq行清理Q所以如果你的APP会LOAD很多CLASS的话,很可能出现PermGen space错误。这U错误常见在web服务器对JSPq行pre compile的时候?/p>ҎҎQ?Xms256m -Xmx256m -XX:MaxNewSize=256m -XX:MaxPermSize=256m

2、在tomcat中redeploy时出现outofmemory的错?

可以有以下几个方面的原因:

Q?使用?u style="line-height: 25px">proxool,因ؓproxool内部包含了一个老版本的cglib.

2, log4j,最好不?只用common-logging

3, 老版本的cglib,快点更新到最新版?/font>

Q,更新到最新的hibernate3.2

3?br style="line-height: 25px" />
q里以tomcat环境ZQ其它WEB服务器如jboss,weblogic{是同一个道理?br style="line-height: 25px" />一、java.lang.OutOfMemoryError: PermGen space

PermGen space的全U是Permanent Generation space,是指内存的永久保存区?
q块内存主要是被JVM存放Class和Meta信息?Class在被Loader时就会被攑ֈPermGen space?
它和存放cd?Instance)的Heap区域不同,GC(Garbage Collection)不会在主E序q行期对
PermGen spaceq行清理Q所以如果你的应用中有很多CLASS的话,很可能出现PermGen space错误,
q种错误常见在web服务器对JSPq行pre compile的时候。如果你的WEB APP下都用了大量的第三方jar, 其大?br style="line-height: 25px" />过了jvm默认的大?4M)那么׃产生此错误信息了?br style="line-height: 25px" />解决ҎQ?手动讄MaxPermSize大小

修改TOMCAT_HOME/bin/catalina.sh
?#8220;echo "Using CATALINA_BASE:   $CATALINA_BASE"”上面加入以下行:
JAVA_OPTS="-server -XX:PermSize=64M -XX:MaxPermSize=128m
Q将相同的第三方jar文gUȝ到tomcat/shared/lib目录下,q样可以辑ֈ减少jar 文档重复占用内存的目的?/p>

二、java.lang.OutOfMemoryError: Java heap space
Heap size 讄
JVM堆的讄是指javaE序q行q程中JVM可以调配使用的内存空间的讄.JVM在启动的时候会自动讄Heap size的|
其初始空??Xms)是物理内存的1/64Q最大空?-Xmx)是物理内存的1/4。可以利用JVM提供?Xmn -Xms -Xmx{选项?br style="line-height: 25px" />q行讄。Heap size 的大是Young Generation 和Tenured Generaion 之和?br style="line-height: 25px" />提示Q在JVM中如?8Q的旉是用于GC且可用的Heap size 不2Q的时候将抛出此异怿息?br style="line-height: 25px" />提示QHeap Size 最大不要超q可用物理内存的80Q,一般的要将-Xms?Xmx选项讄为相同,?Xmn?/4?Xmx倹{?span class="Apple-converted-space"> 
解决ҎQ手动设|Heap size
修改TOMCAT_HOME/bin/catalina.sh
?#8220;echo "Using CATALINA_BASE:   $CATALINA_BASE"”上面加入以下行:
JAVA_OPTS="-server -Xms800m -Xmx800m   -XX:MaxNewSize=256m"

三、实例,以下l出1G内存环境下java jvm 的参数设|参考:

JAVA_OPTS="-server -Xms800m -Xmx800m  -XX:PermSize=64M -XX:MaxNewSize=256m -XX:MaxPermSize=128m -Djava.awt.headless=true "


三、相兌?/p>

/show/3/7/20061112220131.htm

/show/3/7/20061112220054.htm

均用tomcat作ؓWEB服务器,每天讉K量百万多Qtomcat仍然q行良好。徏议大家有问题多从自己E序入手Q多看看java的DOC文档
q详l了解JVM的知识。这样开发的E序才会健壮?br style="line-height: 25px" />
延阅读Q?/span>

JVM 性能调整的一些基本概?/a>

apache+Tomcat负蝲q讄详解[转]

java - the Java application launcher

JVM调优[转]
Java如何通过VC调用VB~写的COM - 

JNI完全手册 - 

JBuilder9制作EXE文g - 

如何在Java中调用dll - 

JNI调用固有Ҏ - 

 

java.lang.OutOfMemoryErrorq个错误我相信大部分开发h员都有遇到过Q生该错误的原因大都出于以下原因:JVM内存q小、程序不严密Q生了q多的垃圾?/p>

           在一q多的工作过E中Q遇到该问题的印象最深有两次?/p>

Steven_bot 2011-10-08 09:30 发表评论
]]>
如何修改和查看tomcat内存大小 http://www.aygfsteel.com/Steven-bot/archive/2011/10/08/360156.htmlSteven_botSteven_botSat, 08 Oct 2011 01:23:00 GMThttp://www.aygfsteel.com/Steven-bot/archive/2011/10/08/360156.htmlhttp://www.aygfsteel.com/Steven-bot/comments/360156.htmlhttp://www.aygfsteel.com/Steven-bot/archive/2011/10/08/360156.html#Feedback0http://www.aygfsteel.com/Steven-bot/comments/commentRss/360156.htmlhttp://www.aygfsteel.com/Steven-bot/services/trackbacks/360156.html

Z解决tomcat在大q行大ƈ发请求时Q出现内存溢出的问题Q请修改tomcat的内存大,其中分ؓ以下两种方式Q?/p>


一、?catalina.bat {命令行方式q行?tomcat

查看pȝ最大支持内存命令:java -Xmx1024m -version

1、修?tomcat\bin\Catalina.bat 文g
windows环境下:

?66行左?br style="line-height: 24px; " />rem Execute Java with the applicable properties ”以下每行
%_EXECJAVA% %JAVA_OPTS% %CATALINA_OPTS% %DEBUG_OPTS% -Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%" -classpath "%CLASSPATH%" -Dcatalina.base="%CATALINA_BASE%" -Dcatalina.home="%CATALINA_HOME%" -Djava.io.tmpdir="%CATALINA_TMPDIR%" %MAINCLASS% %CMD_LINE_ARGS% %ACTION%

?%DEBUG_OPTS% 后面d-Xms256m -Xmx512m

linux环境下:

打开在Tomcat的安装目录的bin文g的catalina.sh文g,q入~辑状?
在注释后面加上如下脚?
JAVA_OPTS='-Xms512m -Xmx1024m'
JAVA_OPTS="$JAVA_OPTS -server -XX:PermSize=64M -XX:MaxPermSize=256m"

其中 JAVA_OPTS='-Xms512m -Xmx1024m' 是设|Tomcat使用的内存的大小.

-XX:PermSize=64M -XX:MaxPermSize=256m 指定cȝ?用于加蝲c?的内存大?nbsp;

保存后,重新以命令行的方式运?tomcat Q即可,然后通过最后面介绍的如何观察tomcat现有内存情况的方法进行查看是否已l变更成功?/p>

 

 

 

二、?pȝ中的 “服务”Q或者开始菜单的可执行程序运行的tomcat

1、关?现在正在q行的tomcat


2.1 [注意]

[高版本tomcat配置Ҏ]

如果是tomcat 5.5 或者是 5.0.28 之后的版本,?Java 选项卡中Q下方,会有
Inital memory Pool:   
Maximum memory Pool:
Thread stack size:
三个输入框,在这里即可不用做上面的操作,直接配置内存大小Q只需要设|?br style="line-height: 24px; " />Inital memory Pool ?256
Maximum memory Pool ?512

点击定后,重启tomcat 生效

 

如果您是低版本的tomcatQ发现没有上面那几个录入框,L下面的操作步?/p>

 

[低版本tomcat配置Ҏ]

在开始菜单中Q找?#8220;Apache Tomcat 5.0”,q择“Configure Tomcat”Q在弹出的对话框H口中,切换?Java VM 选项卡,q在 Java Options 输入框的最前面输入

-Xms256m -Xmx512m

卌入框中的内容会像下面的代码(与自q环境有所区别Q?/p>

-Xms256m -Xmx512m
-Dcatalina.home="C:\tomcat5"
-Djava.endorsed.dirs="C:\tomcat5\common\endorsed"
-Xrs

讄完后Q点?#8220;定”Qƈ重启tomcat卛_?/p>

 

三、查看现有tomcat的内存大情?/p>

1、启动tomcat
2、访?http://localhost:8080/manager/status ,q输入您在安装tomcat时输入的用户与口令,?admin Q密?adminQ密码是您在tomcat安装时输入的Q?/p>

注:d用户Q修改conf/tomcat-users.xml

<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
  <role rolename="tomcat"/>
  <role rolename="role1"/>
  <role rolename="manager"/>
  <role rolename="admin"/>
  <user username="tomcat" password="tomcat" roles="tomcat"/>
  <user username="both" password="tomcat" roles="tomcat,role1"/>
  <user username="role1" password="tomcat" roles="role1"/>
  <user username="admin" password="admin" roles="admin,manager"/>
</tomcat-users>

3、进入了Server Status面Q可以在JVM表格中看?nbsp;
Free memory: 241.80 MB Total memory: 254.06 MB Max memory: 508.06 MB

上面的文字即代表了,当前I闲内存、当前d存、最大可使用内存三个数据?br style="line-height: 24px; " />定了最大内存够大Ӟtomcat卛_正常q{



Steven_bot 2011-10-08 09:23 发表评论
]]>
վ֩ģ壺 | | | ˶| | | ̩| | | | | Ȫ| | ǿ| ڻ| | | | Ͽ| | ˳ƽ| պ| | Զ| | ͨ| | ʯʨ| ʱ| Ͱ| ԭ| | | ɽ| | | Ƥ| | | | |