weblogic和websphere中jvm设置

在企业级应用中经常会使用weblogic或者websphere这样的企业级应用服务器,下面就大概介绍下这两种服务器增加jvm的方法。

 

weblogic的一些优化配置:

 

由于WebLogic分配的内存太少了。通过修改commom\bin\commEnv.cmd文件来增加内存分配。

 

 修改的部分如下:

 

:bea

 

if “%PRODUCTION_MODE%” == “true” goto bea_prod_mode

 

set JAVA_VM=-jrockit

 

set MEM_ARGS=-Xms768m -Xmx1024m

 

set JAVA_OPTIONS=%JAVA_OPTIONS% -Xverify:none

 

goto continue

 

:bea_prod_mode

 

set JAVA_VM=-jrockit

 

set MEM_ARGS=-Xms768m -Xmx1024m//原来是128M~256M,太小了,数据太大

 

goto continue

 

在:bea下面还有一段配置信息如下:

 

:sun

 

if “%PRODUCTION_MODE%” == “true” goto sun_prod_mode

 

set JAVA_VM=-client

 

set MEM_ARGS=-Xms768m -Xmx1024m -XX:MaxPermSize=256m

 

set JAVA_OPTIONS=%JAVA_OPTIONS% -Xverify:none

 

goto continue

 

:sun_prod_mode

 

set JAVA_VM=-server

 

set MEM_ARGS=-Xms768m -Xmx1024m -XX:MaxPermSize=256m

 

goto continue

 

 上面对第一段代码是为bea自己的JVM设置的,下面的是为Sun的设置的。而WebLogic默认的是Sun的。在JDK的选择上,weblogic有两种JDK供选择,一种是SunJDK,另外一种是Beajrockit。按照bea的网站的说明,sun jdk提供更好的兼容性,而使用jrockit可以提供更好的性能。作为weblogic集群最好采用jrockit作为JDK环境,以达到更高的性能。

 

在默认启动情况下,jrockit启动时为其窗口配置的内存大小比较小。注意weblogic的启动内存配置-Xms32m -Xmx256m,通过修改commEnv.sh可以修改这个参数,Xms表示启动开始分配的内存,Xmx表示最大能分配的内存,这里我们根据应用情况调整为-Xms1536m -Xmx1536m,这样设置后的的窗口内存大小为1536M2G× 75%),这点需要根据自身测试情况和系统配置进行调整,最合理的应该是恰好把物理内存用完。

 

websphere虚拟机jvm的一些设置:

 

针对 WebSphere Application Server 调整 JVM 的一个良好起点,但可能会根据负载测试进行调整。要将这些 JVM 参数添加到 WebSphere Application Server,请执行以下操作:

 

1. 从管理控制台中选择 Servers => Application Servers -=> server_name => Process Definition => Java Virtual Machine

 

2. 选中 Verbose Garbage Collection(要记得将其关闭)。

 

3. Initial Heap Size 设置为 1024

 

4. Maximum Heap Size 设置为 1024

 

5. 添加 -server,作为 Generic JVM 参数框中的第一个参数,然后在现有的其他参数后面添加以下参数:

 

-XX:ParallelGCThreads=8

-XX:PermSize=128m

-XX:MaxPermSize=128m

-Xloggc:wls-gc.log

-XX:+PrintGCDetails

-XX:+PrintGCTimeStamps

 

XX:PermSize=64m //最小堆大小

XX:MaxPermSize=128m //最大堆大小

 

PermSize大一点肯定更好,而且最好是设置PermSizeMaxPermSize一样大。理由如下: PermSize MaxPermSize如果设置为相同还可以在一定程度上提高性能,因为,PermSize在不断的变化中会需要转移其中的数据。如果固定了以后,则可以减少每次扩大PermSize带来的性能损失。以上配置可能会根据负载测试进行调整。

热门文章