ITPub博客

首页 > 数据库 > 数据库开发技术 > 【新炬网络名师大讲堂】BES运行时重要参数设置

【新炬网络名师大讲堂】BES运行时重要参数设置

原创 数据库开发技术 作者:shsnchyw 时间:2014-12-23 17:26:08 0 删除 编辑

1. 语言环境设置

如果需要指定语言环境(如产生中文日志),可以直接设置操作系统语言变量,也可以设置bes的启动脚本的encoding设置。

在启动bes之前设置语言环境变量或在.profile中设置export LANG=。支持中文的语言变量为:

AIX平台:

ZH_CN.UTF-8

ZH_CN

Zh_CN.GB18030

Zh_CN

zh_CN.IBM-eucCN

zh_CN

HP-UX平台:

zh_CN.gb18030

zh_CN.hp15CN

zh_CN.utf8

Linux平台:

zh_CN

zh_CN.gb18030

zh_CN.gbk

zh_CN.utf8

增加jvm启动参数,如:

-Ddefault.client.encoding=”GBK” -Dfile.encoding=”GBK” -Duser.language=”Zh”

修改方法:

1、通过控制台修改,适用通过节点管理器启动实例的环境:

BES运行时重要参数设置

1

 

2. Java虚拟机内存设置

缺省java虚拟机内存只有512MB,不适合运行在生产系统,需要更改设置,如无特殊需求可以将其提高到4GB。

AIX平台:

AIX平台JDK1.6版本J9,permsize设置无效,故如下:

USER_MEM_ARGS=”-Xms4096m -Xmx4096m -Xmn1024m”

HP平台:

HP-UX使用64位大内存模式设置:

USER_MEM_ARGS=” -d64 –Xms4096m –Xmx4096m -Xmn1024m -XX:PermSize=1024m -XX:MaxPermSize=1024m”

Linux及SunOS平台:

USER_MEM_ARGS=”-Xms4096m –Xmx4096m -Xmn1024m -XX:PermSize=1024m -XX:MaxPermSize=1024m”

具体设置可根据应用实际使用内存情况设定。

3. Java虚拟机启动选项参数

1)  GC策略

Sun和HP的JDK默认采用分代并发的收集策略,而IBM的JDK则默认采用optthruput策略(共四种策略gencon | optavgpause | optthruput | subpool)

AIX平台:

IBM JDK建议使用gencon策略(分代并发),参数设置方式为:-Xgcpolicy:gencon

其主要作用是使JVM内存按照generation来分配,缺省是虚拟机自己管理。

HP-UX和Linux平台:

使用默认策略即可。

2)  禁止System.gc()

为避免程序主动通过System.gc()发起full GC,在java启动项中增加下面参数

AIX平台:

JAVA_OPTIONS=”-Xdisableexplicitgc”

HP和Linux平台:

如果需要禁止程序通过System.gc()发起full GC,则在设置下面的java参数:

JAVA_OPTIONS=”-XX:+DisableExplicitGC”

也可以不必关闭,而是允许其并行full GC,设置为:

JAVA_OPTIONS=”-XX:+ExplicitGCInvokesConcurrent”

3)  收集GC日志

AIX平台:

JAVA_OPTIONS=”-Xverbosegclog:$DOMAIN_HOME/logs/gc.$$.log”

HP-UX平台:

JAVA_OPTIONS=”-Xverbosegc:file=$DOMAIN_HOME/logs/gc.$$.log”

Linux平台(Oracle JVM):

JAVA_OPTIONS=”-Xloggc:$DOMAIN_HOME/logs/gc.$$.log -XX:+PrintGCDetails -XX:+PrintGCTimeStamps”

4)  手动生成heapdump或hprof文件

AIX平台:

生成javacore及heapdump并指定core文件的生成位置,则使用下面的参数:

-Xdump:heap:file=$DOMAIN_HOME/logs/heapdump.%Y%m%d.%H%M%S.%pid.%seq.phd -Xdump:java:defaults:file=$DOMAIN_HOME/logs/javacore.%Y%m%d.%H%M%S.%pid.%seq.txt

HP平台:

-XX:+HeapDumpOnCtrlBreak

指定core文件的位置,使用下面的参数:

-XX:HeapDumpPath=$DOMAIN_HOME/logs/java_pid.$$.hprof

Linux平台:

JDK1.6中已经去除了-XX:+HeapDumpOnCtrlBreak,不能生成

5)  内存溢出时自动生成Heap Dump或hprof

AIX平台:

在AIX平台下可以不用设置参数,默认会自动生成javacore(由outofmemory引起的)文件。默认生成在$DOMAIN_HOME下。

生成javacore及heapdump并指定core文件的生成位置,则使用下面的参数:

-Xdump:heap:file=$DOMAIN_HOME/logs/heapdump.%Y%m%d.%H%M%S.%pid.%seq.phd -Xdump:java:defaults:file=$DOMAIN_HOME/logs/javacore.%Y%m%d.%H%M%S.%pid.%seq.txt

HP和Linux平台:

-XX:+HeapDumpOnOutOfMemoryError

指定core文件的位置,使用下面的参数:

-XX:HeapDumpPath=$DOMAIN_HOME/logs/java_pid.$$.hprof

6)  JVM Crash指定hs_err_pid文件生成位置

HP和Linux平台:

-XX:ErrorFile=$DOMAIN_HOME/logs/hs_err_pid$$.log

4. BES日志文件大小及文件个数设定

Bes日志文件大小及文件个数默认设定为10M,共10个,access日志文件默认为关闭状态,如项目有特殊要求,可根据以下方法进行设置:

通过控制台(推荐这种方式):

日志文件大小及个数设定:

2

 

access日志文件设定:

3

 

5. 请求预警时间设定

为保证对执行时间长的请求能正常打印堆栈信息,以便后续分析问题,特设定相应参数。(参考值:180s)

通过控制台设定,方法如下:

4

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29960155/viewspace-1377545/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2014-10-16

  • 博文量
    147
  • 访问量
    268241