注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

Reloadbug

黑夜给了我黑色的眼睛,我用她寻找Bug

 
 
 

日志

 
 

Weblogic设置  

2008-03-14 14:26:37|  分类: 技术与软件 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

一、中文问题如果操作系统不支持中文,应首先使操作系统支持中文。

(1)weblogic修改startweblogic.sh(startweblogic.cmd)中启动server的命令,重新设置虚拟机参数
添加-Ddefault.client.encoding=GBK
-Dfile.encoding=GBK
-Duser.language=Zh
-Duser.region=CN
具体如下:%JAVA_HOME%\bin\java %JAVA_VM% %MEM_ARGS% %JAVA_OPTIONS%   -Ddefault.client.encoding=GBK -Dfile.encoding=GBK -Duser.language=Zh -Duser.region=CN-Dweblogic.Name=%SERVER_NAME% -Dweblogic.ProductionModeEnabled=%PRODUCTION_MODE% -Djava.security.policy="%WL_HOME%\server\lib\weblogic.policy"; weblogic.Server  
(2)websphere修改应用程序服务器<进程定义><JVM虚拟机>一般自变量定义
添加-Ddefault.client.encoding=GBK
-Dfile.encoding=GBK -Duser.language=Zh -Duser.region=CN
=======================================================================

二、内存调优通过分析运行日志,
 WebLogic用了一段时间之后,偶尔总是会出现OutOfMemory,这对测试环境来说,还只要Restart Server 就可以解决,但是在正式环境上出现可就麻烦大了,因为一Restart Server 所有User就都无法使用系统,所以MEM_ARGS这个参数的设定就很重要。
Weblogic

MEM_ARGS="-Xms768m -Xmx768m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:MaxPermSize=384m -XX:PermSize=384m -XX:SurvivorRatio=6 -XX:+DisableExplicitGC"
提示:以上记得要写成一行。
Heap Size设定
-Xms 设定一开始的Heap Size。
-Xmx 设定Heap Size的最大值 (最好是不是超过实体记忆体的80%)。
-XX:NewSize 调整JVM的Young Generation的size大小。
-XX:MaxNewSize 调整JVM的Young Generation的size的最大值。
-Xmn Young Generation的size,NewSize 和 MaxNewSize设定为一样。
-XX:NewRatio 控制Young generation的比例,如-XX:NewRatio=3表示Young generation与Old generation的比例为1:3,即Young generation佔1/4,Old generation佔3/4。
Young generation又被分成三部分,第一部分Eden,用於生成新的Object。另外两个部分为Survivor空间,当Eden用完后,会将Objects复製到"SS1",当SS1空间满了的时候,再被复製到"SS2",Objects会在Survivor空间不断的被复製,直到他满足条件进入Old generation止。
提示:如果将Heap Size设的越大,GC的週期就会拉长,而且每次GC的时间也会越长。
PermGen space
-XX:PermSize 这一部分是用於存放Class和Meta的讯息,Class在被 Load的时候被放入PermGen space区域,它和和存放Instance的Heap区域不同,GC(Garbage Collection)不会在主程式运行期间对PermGen space进行清理,所以如果你的APP会LOAD很多CLASS的话,就很可能出现PermGen space错误。这种错误常见在web伺服器对JSP进行pre compile的时候。
整个记忆体配置会像这样
 
-XX:+DisableExplicitGC 加了这个参数会停止掉WLS或是程式内直接呼叫GC,减少不必要的GC,将GC交由JVM去执行。
Garbage Collection描述:
Garbage Collection分多种等级,0级就是全部的垃圾回收(Full GC),会回收Old generation中的垃圾;1级或以上为部分垃圾回收,只会回收Young中的垃圾,会发生OutOfMemory通常是產生於Old generation或Perm段垃圾回收后,仍然没有记忆体空间来存放新的Java 物件的情况。
当一个URL被访问时,记忆体的配置过程如下:
A. JVM会试图为Java的相关对象在Eden中初始化一块记忆体空间
B. 当Eden空间足够时,记忆体配置结束。否则到下一步
C. JVM会试图释放在Eden中所有不活跃的对象(这是属於1或更高级的垃圾回收);释放后若Eden空间仍然不足以放入新对象,则会试图将部分Eden中活跃的对象放入Survivor区/OLD区
D. Survivor区被用来作为Eden及OLD的中间交换区域,当OLD区空间足够,Survivor区的对象会被移到Old区,否则被保留在Survivor区
E. 当OLD区空间不足时,JVM会在OLD区进行完全的垃圾收集(0级)
F. 完全垃圾收集后,若Survivor及OLD区仍然无法存放从Eden复製过来的部分对象,就会导致JVM无法在Eden区为新的对象配置出记忆体区块,產生"out of memory的错误"
以我的设定为例:
MEM_ARGS="-Xms768m -Xmx768m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:MaxPermSize=384m -XX:PermSize=384m -XX:SurvivorRatio=6 -XX:+DisableExplicitGC"
在上面的例子中:
YOUNG+OLD: 768M
YOUNG: 256M
Perm: 384M
Eden: YOUNG*6/(6+1+1)=192M
Survivor: YOUNG*1/(6+1+1)=32M
Heap Size: YOUNG+OLD+Perm=1024M

========================================================================

三、连接池的优化可以参照同一时间连接数据库的用户数量,进行设置,数据库的最大连接数不能小于高峰时期同一时间连接用户的数量。

(1)weblogic   Services-&gt;jdbc--&gt;Connection Pools--&gt;centerconn--&gt;connections   initial Capacity(初始连接数):10   Maximum Capacity(最大连接数):50   CapacityIncrement:(每次递增数):3(2)websphere   请参考weblogic设置数据源的最大最小连接数。

========================================================================

  评论这张
 
阅读(3632)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017