Weblogic内存溢出及常用参数配置
几种常见的内存溢出与解决办法
⼏种常见的内存溢出与解决办法引起内存溢出的原因有很多种,常见的有以下⼏种: 1.内存中加载的数据量过于庞⼤,如⼀次从数据库取出过多数据; 2.集合类中有对对象的引⽤,使⽤完后未清空,使得JVM不能回收; 3.代码中存在死循环或循环产⽣过多重复的对象实体; 4.使⽤的第三⽅软件中的BUG; 5.启动参数内存值设定的过⼩;1.堆设置jvm值的⽅法是通过-Xms(堆的最⼩值),-Xmx(堆的最⼤值)2.栈设置栈⼤⼩的⽅法是设置-Xss参数3.PermGen space第三个异常是关于perm的异常内容,我们需要的是设置⽅法区的⼤⼩,实现⽅式是通过设置-XX:PermSize和-XX:MaxPermSize参数4.DirectMemory第四个异常估计遇到的⼈就不多了,是DirectMemory内存相关的DirectMemoruSize可以通过设置 -XX:MaxDirectMemorySize参数指定容量⼤⼩,如果不指定的话,那么就跟堆的最⼤值⼀致内存使⽤监控⼯具jvmstat 解決辦法:【情况⼀】:ng.OutOfMemoryError:Javaheapspace:这种是java堆内存不够,⼀个原因是真不够(如递归的层数太多等),另⼀个原因是程序中有死循环; 如果是java堆内存不够的话,可以通过调整JVM下⾯的配置来解决: -Xms3062m -Xmx3062m【情况⼆】 ng.OutOfMemoryError:GCoverheadlimitexceeded 【解释】:JDK6新增错误类型,当GC为释放很⼩空间占⽤⼤量时间时抛出;⼀般是因为堆太⼩,导致异常的原因,没有⾜够的内存。
【解决⽅案】: 1、查看系统是否有使⽤⼤内存的代码或死循环; 2、通过添加JVM配置,来限制使⽤内存: -XX:-UseGCOverheadLimit【情况三】: ng.OutOfMemoryError:PermGenspace:这种是P区内存不够,可通过调整JVM的配置: -XX:MaxPermSize=128m -XXermSize=128m 【注】: JVM的Perm区主要⽤于存放Class和Meta信息的,Class在被Loader时就会被放到PermGenspace,这个区域成为年⽼代,GC在主程序运⾏期间不会对年⽼区进⾏清理, 默认是64M⼤⼩,当程序需要加载的对象⽐较多时,超过64M就会报这部分内存溢出了,需要加⼤内存分配,⼀般128m⾜够。
weblogic内存溢出解决方法
彻底解决Weblogic报出ng.OutOfMemoryError: PermGen space问题:打开域下面的bin目录(D:\Oracle\Middleware\user_projects\domains\base_domain\bin)。
编辑setDomainEnv.cmd文件,将以下蓝色的地方设置内存大小改成自己需要的。
set WLS_HOME=%WL_HOME%\serverif "%JA V A_VENDOR%"=="Sun" (set WLS_MEM_ARGS_64BIT=-Xms256m -Xmx512mset WLS_MEM_ARGS_32BIT=-Xms256m -Xmx512m) else (set WLS_MEM_ARGS_64BIT=-Xms512m -Xmx512mset WLS_MEM_ARGS_32BIT=-Xms512m -Xmx512m)set MEM_ARGS_64BIT=%WLS_MEM_ARGS_64BIT%set MEM_ARGS_32BIT=%WLS_MEM_ARGS_32BIT%if "%JA V A_USE_64BIT%"=="true" (set MEM_ARGS=%MEM_ARGS_64BIT%) else (set MEM_ARGS=%MEM_ARGS_32BIT%)set MEM_PERM_SIZE_64BIT=-XX:PermSize=128mset MEM_PERM_SIZE_32BIT=-XX:PermSize=48mif "%JA V A_USE_64BIT%"=="true" (set MEM_PERM_SIZE=%MEM_PERM_SIZE_64BIT%) else (set MEM_PERM_SIZE=%MEM_PERM_SIZE_32BIT%)set MEM_MAX_PERM_SIZE_64BIT=-XX:MaxPermSize=256mset MEM_MAX_PERM_SIZE_32BIT=-XX:MaxPermSize=128m我的修改后如下:set WLS_HOME=%WL_HOME%\serverif "%JA V A_VENDOR%"=="Sun" (set WLS_MEM_ARGS_64BIT=-Xms256m -Xmx512mset WLS_MEM_ARGS_32BIT=-Xms256m -Xmx512m) else (set WLS_MEM_ARGS_64BIT=-Xms512m -Xmx512mset WLS_MEM_ARGS_32BIT=-Xms512m -Xmx512m)set MEM_ARGS_64BIT=%WLS_MEM_ARGS_64BIT%set MEM_ARGS_32BIT=%WLS_MEM_ARGS_32BIT%if "%JA V A_USE_64BIT%"=="true" (set MEM_ARGS=%MEM_ARGS_64BIT%) else (set MEM_ARGS=%MEM_ARGS_32BIT%)set MEM_PERM_SIZE_64BIT=-XX:PermSize=128mset MEM_PERM_SIZE_32BIT=-XX:PermSize=512mif "%JA V A_USE_64BIT%"=="true" (set MEM_PERM_SIZE=%MEM_PERM_SIZE_64BIT%) else (set MEM_PERM_SIZE=%MEM_PERM_SIZE_32BIT%)set MEM_MAX_PERM_SIZE_64BIT=-XX:MaxPermSize=256mset MEM_MAX_PERM_SIZE_32BIT=-XX:MaxPermSize=1024m注:暂时解决内存溢出问题在D:\Oracle\Middleware\wlserver_10.3\common\bin\commEnv.sh中配置MEM_ARGS="-Xms32m -Xmx200m -XX:MaxPermSize=128m"-Xms:内存初始值 -Xmx:内存最大值(不要超过内存的80%)MaxPermSize:PermGen(Class和Meta存放区域)区域内存最大值。
weblogic内存溢出
WEBLOGIC 内存溢出解决方案相关教程:很好听听听吧朱禹齐(原创)正文f-tuning)' has been busy for"697" seconds working on the request "Ht tp Request: aaa.do", which is more than the configured time (StuckThr eadMaxTime) of "600" seconds. Stack trace:后来在公司文档中发现以前所有weblogic的部署使用的JDK都是Sun的,于是没有进行具体的分析就进行了更换。
今天客户报告系统反应极慢,查看后台发现包内存溢出异常,导致整个系统没有反应,于是进行了重启才恢复。
------------------------------------------------------------------------以下内容转自其他Blog------------------------------------------------------------------------场景:用户培训需要培训环境,培训环境搭好后,由于不常更新跑的时间较长,考验系统稳定性的时候到了,很可惜稳定性这个问题与我们大家的美好愿望一直背道而驰,天天求神拜佛也不行很不给面子,发现了一个原因解决了又出现了其他引起当机的因素,弄得是焦头烂额,下面就是我们发现的一个引起当机的原因,请各位提高警惕。
9月16日系统当机,Weblogic报出ng.OutOfMemoryError: PermGen space 异常,10-15分钟后就会发生<[STUCK] ExecuteThread: '2'for queue: 'weblogic.kernel.Default (self -tuning)'> <<WLS Kernel>> <> <> <1221538218253> <BEA-000339> <[STUCK] ExecuteThread: '2'for queue: 'weblogic.kernel.Default (self-tuning)排查分析:1、参考tomcatFAQ: /tomcat/FAQ/Deployment中如下内容:Why does the memory usage increase when I redeploy a web application?Because the Classloader (and the Class objects it loaded) cannot be r ecycled. They are stored in the permanent heap generation by the JVM, and when you redepoy a new class loader is created, which loads anot her copy of all these classes. This can cause OufOfMemoryErrors event ually.Tomcat FAQ指出SUN JVM对处于permanent heap generation(默认4M)的内容不做垃圾回收会导致内存溢出错误。
weblogic java_option 参数
weblogic java_option 参数WebLogic Server提供了一系列的Java选项参数,以控制Java 虚拟机的行为。
以下是一些常用的Java选项参数:1. -Xms: 初始Java堆大小2. -Xmx: 最大Java堆大小3. -XX:PermSize: 初始永久代大小4. -XX:MaxPermSize: 最大永久代大小5. -XX:NewSize: 初始新生代大小6. -XX:MaxNewSize: 最大新生代大小7. -XX:SurvivorRatio: 新生代中Eden区和Survivor区的比例8. -XX:NewRatio: 新生代和老年代的大小比例9. -XX:ParallelGCThreads: 并行垃圾回收线程数10. -XX:+UseParallelGC: 使用并行垃圾回收11. -XX:MaxGCPauseMillis: 最大垃圾回收暂停时间12. -XX:+HeapDumpOnOutOfMemoryError: 在发生OutOfMemoryError时输出堆转储文件13. -Dweblogic.security.SSL.ignoreHostnameVerification=true: 忽略SSL主机名验证14. -Dweblogic.security.SSL.protocolVersion=TLSv1.2: 使用TLSv1.2协议进行SSL/TLS通信15. -Dweblogic.MaxMessageSize: 设置WebLogic通信最大消息大小请注意,这只是一些常用的Java选项参数,您可以根据应用程序的需要进行调整。
对于一些高级调优参数,建议咨询WebLogic Server的官方文档。
Weblogic项目部署及相关问题解决
Weblogic项目部署1、使用weblogic部署项目时,首先要启动一下开始菜单中weblogic目录下的QuickStart添加一个项目名称。
2、创建完项目之后,在weblogic安装目录\Middleware\user_projects\domains下面就可以看到自己刚刚创建的项目了。
随后启动目录下面的startWebLogic.cmd,启动完成后,启动ie 浏览器在地址栏输入http://localhost:7001/console,然后会出现一个登陆窗口,用户名为创建项目最后输入的名称,默认是weblogic,密码即为自己输入的密码.3、登陆进去之后我们就可以对我们所创建的项目进行配置了:配置服务项中的数据源:名称和JNDI名称我们都要使用项目中app-config-context.xml 配置文件项目中的JNDI名称。
这里使用的是sinosoftDataSource。
数据源配置完成后的参数: url:jdbc:oracle:thin:@10.32.14.73:1521:personal驱动程序类名称:oracle.jdbc.xa.client.OracleXADataSource由于在倒数第二步测试连接成功之后我就直接点击完成,导致最后一步没有完成,最后在部署项目完成之后项目报错找不到数据源,Unable to resolve 'sinosoftDataSource'. Resolved ''; remaining name 'sinosoftDataSource'之后就是在weblogic中部署需要部署的项目,也就是将项目中的webapps目录加载到weblogic中,一切完成之后就可以在浏览器中输入访问路径访问这个项目了。
weblogic部署中遇到的问题:1、内存溢出:修改项目路径\bin\目录下的setDomainEnv.cmd文件,将其中的内容:set MEM_PERM_SIZE_64BIT=-XX:PermSize=128mset MEM_PERM_SIZE_32BIT=-XX:PermSize=48m修改为:set MEM_PERM_SIZE_64BIT=-XX:PermSize=512mset MEM_PERM_SIZE_32BIT=-XX:PermSize=512mMyeclipse中的内存溢出修改:-Xms256m -Xmx512m -XX:CompileThreshold=8000 -XX:PermSize=128m-XX:MaxPermSize=512m -Xverify:none -daPaths中添加一个名称为antlr-2.7.6rc1.jar。
内存溢出工具使用方法培训
MAT常用功能页面介绍
Class Loader Explorer
按下图方式打开Class Loader Explorer页面,查看溢出时系统中存在哪些ClassLoader,每个 ClassLoader加载的类数量(Defined Classes)和类的实例数(No .Of instances)。
WebLogic、Tomcat的Javacore信息存放在控制台的输出信 息中。
WebSphere会在server目录(如 \IBM\WebSphere\AppServer\profiles\ AppSrv01\)下生成 独立的javacore文件。
Javacore可以通过以下方式手动获取:Linux下使用 kill -3 进程号,生成Javacore;Windows下通过选中java运行的命 令窗口,按组合键ctrl+break生成Javacore。
基本分析方法
根据heapdump提供的信息,找到javacore中可能出现 问题的代码段,然后进一步分析代码。
MAT安装
第一步:解压安装包
第二步:修改 MemoryAnalyzer.ini配置文件,将Xmx参数设置的足够大,以便能够打开大的 heapdump。
第三步:运行MemoryAnalyzer.exe 第四步:安装插件。
HeapDump生成比较慢,在文件生成过程中,一定不要杀掉进 程,当文件大小不再变化时,才可以杀毒进程。否则文件生成 的不完整,无法分析。
WebLogic、Tomcat需要在JVM参数中添加XX:+HeapDumpOnOutOfMemoryError,否则在内存溢出时, 是不会自动生成HeapDump的。WebSphere不需要添加该参数, 内存溢出时可自动生成heapdump文件。
内存溢出的三种情况及系统配置解决方案
内存溢出的三种情况及系统配置解决方案内存溢出是指程序在运行过程中申请的内存超过了系统或者进程所能提供的上限。
导致内存溢出的原因可能是程序中存在内存泄漏、内存分配过多或者递归调用过深等。
下面将介绍三种常见的内存溢出情况及其系统配置解决方案。
1.程序内存泄漏导致内存溢出:内存泄漏指程序在运行过程中动态分配内存空间后,没有对其进行释放,导致一部分内存无法再次使用。
长时间运行的程序中,如果内存泄漏较为严重,系统可用内存会不断减少,直到最终耗尽所有内存资源。
解决方案:使用内存泄漏检测工具来检测和修复程序中的内存泄漏问题。
同时,可以考虑使用自动内存管理的编程语言,如Java和Python,在程序运行过程中自动回收未使用的内存。
2.内存分配过多导致内存溢出:解决方案:优化程序的内存使用,尽可能减小内存分配的数量和大小。
可以通过使用更高效的内存管理算法来减少内存碎片,或者使用内存池技术来提前分配一定量的内存供程序使用。
3.递归调用过深导致内存溢出:递归函数在每次调用时会将一定量的数据压入栈中,如果递归调用层数过深,栈的空间可能会超过系统的限制,从而导致内存溢出。
这种情况通常发生在没有设置递归终止条件或者递归层数过多的情况下。
解决方案:优化递归算法,设置合适的递归终止条件,避免递归调用过深。
如果无法避免使用递归算法,可以考虑使用尾递归或者迭代算法来替代递归调用,减少栈的压力。
在系统配置方面,可以采取以下措施来预防和解决内存溢出问题:1.增加系统内存容量:如果内存溢出是由于系统可用内存不足引起的,可以考虑增加系统的内存容量。
这可以通过增加物理内存条或者使用虚拟内存技术来实现。
虚拟内存技术会将部分磁盘空间用作缓存,并将一部分数据暂时存储在磁盘上,以释放内存空间。
2. 调整JVM参数:对于使用Java虚拟机(JVM)的应用程序,可以通过调整JVM的参数来控制内存的分配和管理。
例如,可以通过设置-Xmx参数来限制JVM使用的最大堆内存大小,或者通过设置-XX:MaxPermSize参数来限制JVM使用的最大持久代(PermGen)内存大小。
关于中间件内存(缓存)溢出的情况分析及解决办法
关于中间件内存(缓存)溢出的情况分析及解决办法因为系统运行时间过程中,weblogic内存中积累了过量的垃圾文件,导致jta资源不足、jdbc找不到连接资源,最后系统崩溃,无法运行。
后台会有如下显示:类似于这样的错误,可以通过修改C:\bea\weblogic81\common\bin\commEnv.cmd 这个脚本文件。
修改内容如下:goto continue:beaif "%PRODUCTION_MODE%" == "true" goto bea_prod_modeset JA V A_VM=-jrockitset MEM_ARGS=-Xms128m -Xmx512mset JA V A_OPTIONS=%JA V A_OPTIONS% -Xverify:nonegoto continue:bea_prod_modeset JA V A_VM=-jrockitset MEM_ARGS=-Xms256m -Xmx512mgoto continue修改为:goto continue:beaif "%PRODUCTION_MODE%" == "true" goto bea_prod_modeset JA V A_VM=-jrockitset MEM_ARGS=-Xms768m -Xmx768m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:MaxPermSize=384m -XX:PermSize=384m -XX:SurvivorRatio=6 -XX:+DisableExplicitGC set JA V A_OPTIONS=%JA V A_OPTIONS% -Xverify:none goto continue:bea_prod_modeset JA V A_VM=-jrockitset MEM_ARGS=-Xms768m -Xmx768m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:MaxPermSize=384m -XX:PermSize=384m -XX:SurvivorRatio=6 -XX:+DisableExplicitGC goto continue下文摘自/caimaohua/archive/2009/06/09/4254686.a spxWebLogic用了一段時間之後,偶爾總是會出現OutOfMemory,這對測試環境來說,還只要Restart Server 就可以解決,但是在正式環境上出現可就麻煩大了,因為一Restart Server 所有User就都無法使用系統,所以MEM_ARGS這個參數的設定就很重要。
内存溢出的三种情况及系统配置解决方案
内存溢出的三种情况及系统配置解决方案内存溢出是指程序在运行过程中申请的内存超过了系统所分配的内存空间,导致程序崩溃或出现异常。
内存溢出通常是由于程序设计或系统配置问题引起的。
以下是三种常见的内存溢出情况及相应的系统配置解决方案。
1.单个进程占用内存过大:当一些进程在运行过程中占用的内存超过系统分配的限制时,就会导致内存溢出。
这种情况通常发生在大型应用程序或者后台服务运行时。
解决方案:-增加物理内存:在服务器或计算机中增加物理内存,以满足进程运行所需的内存空间。
-调整虚拟内存:将物理内存和虚拟内存结合使用,允许操作系统使用虚拟内存作为物理内存的扩展,从而提供更大的内存容量。
-优化应用程序:通过优化程序代码、降低内存使用、合理管理资源等方法,减少进程对内存的占用。
2.长时间运行的应用程序产生泄露:有些应用程序在长时间运行后会产生内存泄露的问题,即分配并使用内存后没有将其释放,导致内存占用逐渐增加,最终导致内存溢出。
解决方案:-使用垃圾回收机制:在一些支持垃圾回收的编程语言中,通过垃圾回收机制可以自动释放未使用的内存。
开发人员可以使用这些机制来解决内存泄露问题。
-引入内存监控工具:使用内存监控工具来检测应用程序中的内存泄露,定位并解决导致内存泄露的代码问题。
-定期重启应用程序:定期重启应用程序可以清理内存,防止内存泄露导致内存溢出。
3.大规模并发请求导致内存压力增加:在高并发的情况下,当系统同时处理大量的请求时,每个请求所占用的内存可能累积增加,导致整体内存压力增加,最终出现内存溢出。
解决方案:-加大系统负载均衡能力:通过增加负载均衡器、引入缓存机制等方式,将请求分散到多台服务器上,减少单台服务器的内存压力。
-优化数据库访问:对于一些频繁读写数据库的操作,可以通过合理的数据库设计、使用索引、缓存查询结果等方法,减少对数据库的访问,降低内存压力。
-调整服务器配置:合理设置服务器的最大并发连接数、线程池大小等参数,根据实际需求分配内存资源。
多种NC问题及解决办法
一、内存溢出(1)重启eclipse(2)或者看看设置下参数,(-Xms256M -Xmx512M -XX:PermSize=256M -XX:MaxPermSize=256M), nchome里bin/ncSysConfigeclipse-窗口-首选项-已安装的jre-编辑jre-缺省vm参数项目点右键-调试方式-调试-自变量-vm自变量二、所有信息就都输出到控制台(1)把sql日至都打出来,NC_HOME/ierp/bin/logger-config.properties 名字改下,这样所有信息就都输出到控制台,你点击按钮后,看看后台输出的sql,就是到都更新了哪些表了(2)修改D:\ufsoft\ufnc502\ierp\bin\logger-config.properties将anonymous.level=ERRORanonymous.pattern=[%t] %X{remoteAddr} %X{remotePort} %d{yyyy/MM/dd HH:mm:ss} [%A] %p - %m %nanonymous.file=./nclogs/${server}/anony-log.loganonymous.size.maxSize=5MBanonymous.size.maxIndex=20修改为anonymous.level=TRACEanonymous.pattern=[%t] %X{remoteAddr} %X{remotePort} %d{yyyy/MM/dd HH:mm:ss} [%A] %p - %m %n三、寻找错误有错了先点清理控制台,再触发错误的事件,再从控制台的server端寻找错误四、配置文件路径nchome\ierp\bin\prop.xml五、帐套管理路径nchome\ierp\bin\account.xml五、模块注册错乱用集团登陆,在二次开发工具-系统管理工具-自定义菜单--恢复默认结构在二次开发工具-系统管理工具-自定义菜单可以自定义结构六、打断点时候有时候截出的信息过多,有省略用System.out.print(信息)七、中间启动不起来(1)去掉hr开头的模块(2)换个ufjdk八、直接起nchome显示4行就不在继续server的IP改成127.0.0.1九、获得nchome所在文件夹RuntimeEnv.getInstance().getNCHome()十、读取nc服务器信息的String url="http://"+InvocationInfoProxy.getInstance().getServerHost()+":"+InvocationInfoProxy.g etInstance().getServerPort();十一、javax.swing.JPanel 的 main() 中发生异常ng.NoClassDefFoundError: netscape/javascript/JSObjectat ng.Class.forName0(Native Method)at ng.Class.forName(Class.java:164)at nc.starter.test.JStarter.StartNC(JStarter.java:111)at nc.starter.test.JStarter.main(JStarter.java:373)没有导入plugin 的jar包十二、ponentNotFoundException: Component:nc.itf.pd.inner.IPubFreeze,Detail Message:Can not find component(both in jndi and ESA)EJB问题,删掉EJB临时文件,重启中间键object is not an instance of declaring class也有可能是接口、实现方法没有定义,定义后重新部署十三、java中的各种路径public static void main(String[] args){System.out.println(new File("column2.txt").getAbsolutePath());//文件路径System.out.println("Java运行时环境版本:\n"+System.getProperty("java.version")); System.out.println("Java 运行时环境供应商:\n"+System.getProperty("java.vendor"));System.out.println("Java 供应商的URL:\n"+System.getProperty("java.vendor.url")); System.out.println("Java安装目录:\n"+System.getProperty("java.home"));System.out.println("Java 虚拟机规范版本:\n"+System.getProperty("java.vm.specification.version"));System.out.println("Java 类格式版本号:\n"+System.getProperty("java.class.version"));System.out.println("Java类路径:\n"+System.getProperty("java.class.path"));System.out.println("加载库时搜索的路径列表:\n"+System.getProperty("java.library.path"));System.out.println("默认的临时文件路径:\n"+System.getProperty("java.io.tmpdir"));System.out.println("要使用的 JIT 编译器的名称:\n"+System.getProperty("piler"));System.out.println("一个或多个扩展目录的路径:\n"+System.getProperty("java.ext.dirs"));System.out.println("操作系统的名称:\n"+System.getProperty(""));System.out.println("操作系统的架构:\n"+System.getProperty("os.arch"));System.out.println("操作系统的版本:\n"+System.getProperty("os.version"));System.out.println("文件分隔符(在 UNIX 系统中是“/”):\n"+System.getProperty("file.separator"));System.out.println("路径分隔符(在 UNIX 系统中是“:”):\n"+System.getProperty("path.separator"));System.out.println("行分隔符(在 UNIX 系统中是“/n”):\n"+System.getProperty("line.separator"));System.out.println("用户的账户名称:\n"+System.getProperty(""));System.out.println("用户的主目录:\n"+System.getProperty("user.home"));System.out.println("用户的当前工作目录:\n"+System.getProperty("user.dir")); }十四、端口号/**nchome55\conf文件夹下server.xml文件搜索Define a non-SSL HTTP/1.1 Connector下面就是那个端口*/十六、表体树排序出错表体树不支持排序,禁用表体排序,在initSelfData()调用getBillCardPanel().getBillTable(表编码).setSortXXX(false),注意相应的列表界面也要禁止排序十七、访问受限配置访问规则--编辑--添加--分辨率改为可访问,规则模式写**--确定十八、ng.ClassNotFoundException和ng.NoClassDefFoundError的区别这2个东西应该是java里很常见,很简单,他们都和classpath设定有关,但区别在哪里呢?我们都知道java里生成对象有如下两种方式:1:Object obj = new ClassName(); 直接new一个对象2:Class clazz = Class.forName(ClassName);Object obj = clazz.newInstance(); 通过class loader动态装载一个类,然后获取这个类的实例同样是生成对象,1在编译期间检查classpath, 如果没有类定义,编译没法通过。
jvm常用调优参数
jvm常用调优参数
JVM是JavaVirtualMachine的缩写,是Java程序运行的核心。
JVM的调优是优化Java应用程序性能的重要一环,其中调优参数的合理设置是关键。
以下是常用的JVM调优参数:
1. -Xms:设置JVM的初始内存大小,默认为物理内存的
1/64。
2. -Xmx:设置JVM的最大内存大小,超出该内存大小后会触发垃圾回收。
3. -Xmn:设置年轻代的大小,一般设置为总内存的1/3或
1/4。
4. -XX:SurvivorRatio:设置年轻代中Eden区和Survivor区的比例,默认值为8。
5. -XX:NewRatio:设置新生代和老年代的比例,默认值为2。
6. -XX:MaxPermSize:设置永久代的大小,一般设置为
256MB。
7. -XX:+UseConcMarkSweepGC:使用CMS垃圾回收器,可以减少内存抖动。
8. -XX:+UseParallelGC:使用并行垃圾回收器,可提高垃圾回收效率。
9. -XX:+HeapDumpOnOutOfMemoryError:当JVM内存溢出时,生成堆转储文件。
10. -XX:+PrintGCDetails:打印垃圾回收的详细信息。
以上是常用的JVM调优参数,通过合理地设置参数,可以优化Java应用程序的性能。
weblogic优化指南
优化WebLogic一、为WebLogic启动设置Java参数垃圾收集(GC)是指JVM释放Java堆中不再使用的对象所占用的内存的过程,而Java堆(Heap)是指Java应用程序对象生存的空间。
堆大小决定了GC的频度和时间。
堆越大,GC频度低,速度慢。
堆越小,GC频度高,速度快。
所以GC和堆大小是一组矛盾。
为了获取理想的Heap堆大小,需要使用-verbosegc参数(Sun jdk: -Xloggc:<file>)以打开详细的GC输出。
分析GC的频度和时间,结合应用最大负载所需内存情况,得出堆的大小。
通常情况下,我们建议使用可用内存(除操作系统和其他应用程序占用之外的内存)70-80%,为避免堆大小调整引起的开销,设置内存堆的最小值等于最大值即:-Xms=-Xmx。
而为了防止内存溢出,建议在生产环境堆大小至少为256M(Platform至少512M),实际环境中512M~1G左右性能最佳,2G以上是不可取的,在调整内存时可能需要调整核心参数进程的允许最大内存数。
对于sun 和hp的jvm,永久域太小(默认4M)也可能造成内存溢出,应增加参-XX:MaxPermSize=128m。
建议设置临时域-Xmn的大小为-Xmx的1/4~1/3, SurvivorRatio为8堆栈内存优化,修改配置文件:WL_HOME=C:\bea\weblogic81 "%WL_HOME%\common\bin\commEnv.cmd":bea#如果采用的上bea的JDK# JVM Heap(堆内存)最小尺寸为96M,最大尺寸为256Mset MEM_ARGS=-Xms96m -Xmx256m:sun#如果采用的是sun的JDK# JVM Heap(堆内存)最小尺寸为32M,最大尺寸为200M#公共变量对象的内存限制: PermSize:最小尺寸, MaxPermSize :最大允许分配尺寸set MEM_ARGS=-Xms32m -Xmx200m -XX:MaxPermSize=128m监视堆栈使用情况:下载JRockit JDK,该JDK已经自带了JRockit Mission Control工具,目前好像还没有单独下载JRockit Mission Control的地方,于JRockit JDK进行了绑定下载;在C:\bea\jrockit81sp5_142_08\console目录里面运行:C:\bea\jrockit81sp5_142_08\bin\java –Xmanagement -jar ManagementConsole.jar 如何监控weblogic呢?修改weblogic启动脚本startWebLogic.cmd,在里面加入-Xmanagement启动参数:%JAVA_HOME%\bin\java -Xmanagement %JAVA_VM% %MEM_ARGS% %JAVA_OPTIONS% =%SERVER_NAME% -Dweblogic.ProductionModeEnabled=%PRODUCTION_MODE% -Djava.security.policy="%WL_HOME%\server\lib\weblogic.policy" weblogic.Server二、设置与性能有关的配置参数在一个WebLogic域中,配置文件(config.xml)位于与管理服务器通信的机器里,提供WebLogic MBean的长期存储。
weblogic调优参数及监控指标
weblogic调优参数对Weblogic的调优主要从SEVER、ExecuteQueue、JDBC等几个方面的相关参数进行调优:一、SERVER在mydomain->Servers->myserver->Configuration->Tuning->“Enable Native IO”中: 1、Native IOEnabledTRUE,表示该Server使用本地I/O2、SocketReaders设置在执行线程中专用做Socket Readers的百分比3、Maximum Open Sockets最大打开Socket数4、Stuck Thread MaxTime堵塞线程时间,超过这个时间没有返回的执行线程,系统将认为是堵塞线程如果weblogic认为某个队列中的所有的线程全部堵塞的话,weblogic将会增加执行线程的数量。
注意:执行线程的数量一旦增加,目前weblogic不会去减少他,如果增加了一些线程以后再次出现overflow的警告,weblogic会继续增加执行线程的数量,一直到达到上限为止。
5、Stuck Thread Timer Interval系统检查堵塞线程的时间间隔6、Low Memory GC Threshold当可用内存小于该百分比时,垃圾回收启动7、Low Memory Granularity Level当两次检测的可用内存变化超过该百分比时,垃圾回收启动8、Low Memory Sample Size在一次检测中的取样次数9、Low Memory Time Interval检测间隔时间10、Accept Backlog等待队列中最多可以有多少TCP连接等待处理,如果在许多客户端连接被拒绝,而在服务器端没有错误显示,说明该值设得过低。
如果连接时收到connection refused消息,说明应提高该值,每次增加25%二、ExecuteQueue在mydomain->Servers->myserver ->Monitoring->Monitor all Active Queues... ->Configuration->weblogic.kernel.Default->1、ThreadCount服务器初始创建的执行线程的数量,设置原则:增大机器的最大并发线程数使处理器利用率达到最大。
webLogic10.3.6安装、配置图解
一、webLogic 10.3.6安装1.双击“oepe-wls-indigo-installer-11.1.1.8.0.201110211138-10.3.6-win32.exe”启动安装,直接“下一步”2.选择“创建新的中间件主目录”,可以将目录放到D盘,避免占用系统盘空间,点击“下一步”3.将红色区域内的复选框去掉,点击“下一步”4.默认选择“典型”安装,点击“下一步”5.默认产品安装目录,点击“下一步”6.选择“所有用户”,点击“下一步”7.查看安装概要,没有问题,点击“下一步”,显示安装进度8.如果需要直接创建weblogic域,选择“运行Quickstart”,点击“完成”按钮,进入快速启动页面;如果想要稍后再进行创建,取消“运行Quickstart”,点击“完成”按钮,安装完成9.点击“Ggetting started with WebLogic Server”,进入Fusion Middleware配置向导也可以通过开始菜单进入配置向导:10.选择“创建新的Weblogic域”,点击“下一步”11.直接点击“下一步”12.输入域的名称和位置,直接默认即可,点击“下一步”13.配置管理员用户名、密码,之后启动weblogic和登陆控制台需要用到,输入后点击“下一步”用户名:weblogic(默认)用户口令:Password123414.选择“生产模式”、JDK最好选择Weblogic自带jdk,点击“下一步”15.选择“管理服务器”、“受管服务器、集群和计算机”,点击“下一步”16.名称默认即可,选择本地监听地址(本机IP地址)端口号默认7001,点击“下一步”17.无需配置受管服务器,直接点击“下一步”18.无需配置集群,直接点击“下一步”19.无需配置结算机,直接点击“下一步”20.点击“创建”,显示创建进度21.点击“完成”,创建域完成二、webLogic 配置1.进入“D:\Oracle\Middleware\user_projects\domains\base_domain”,双击“startWebLogic.cmd”,启动webLogic2.输入前方配置的用户名、密码3.打开浏览器输入控制台url,进入控制台进行管理(http://82.XXX.XXX.XXX:7001/console),用户名密码输入之前配置的域用户名、密码4.点击“锁定并编辑”,选择:服务-数据源5.点击新建,选择“一般数据源”,JNDI名称和工程JNDI名称保持一致。
weblogic中间件介绍
目录一、Weblogic11g概述.............................................................................................................................1.1功能简介.....................................................................................................................................1.2功能简介.....................................................................................................................................1.3主要优势.....................................................................................................................................1.4适用范围.....................................................................................................................................1.5 Weblogic 11G新特性.................................................................................................................1.5.1自调优的企业级内核 ......................................................................................................1.5.2过载保护 ..........................................................................................................................1.5.3动态的配置变化 ..............................................................................................................1.5.4并行的应用部署–零宕机 ..........................................................................................1.5.5 JRockit Flight Recorder概念 ............................................................................................1.5.6 JRockit Flight Recorder使用场景 ....................................................................................二、Weblogic11g安装.............................................................................................................................2.1 安装前的准备工作...................................................................................................................2.2 Windows下安装Weblogic ........................................................................................................2.2.1 准备安装 .......................................................................................................................2.2.2 进入安装界面 ...............................................................................................................2.2.3 选择中间件目录 ...........................................................................................................2.2.4 注册安全更新 ...............................................................................................................2.2.5 选择典型安装 ...............................................................................................................2.2.4 选择产品安装目录 .......................................................................................................2.2.7 创建快捷方式 ...............................................................................................................2.2.8 显示安装概要 ...............................................................................................................2.2.9 正在安装 ..........................................................................................................................................................................................................................................................................2.3 Windows下创建WebLogic 域.................................................................................................2.3.1 QUICK START 提示界面 ...............................................................................................2.3.2 进入配置向导 ...............................................................................................................2.3.3 选择域源 .......................................................................................................................2.3.4 指定域名和位置 ...........................................................................................................2.3.5 配置管理员用户名和口令 ...........................................................................................2.3.6 配置服务器启动模式和JDK ........................................................................................2.3.7 添加可选配置 ...............................................................................................................2.3.8 配置管理服务器 ...........................................................................................................2.3.9 显示配置概要 ........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................2.4 Linux 下安装Weblogic..........................................................................................................2.4.1 安装前的准备 ...............................................................................................................2.4.2?.bin的安装 ..................................................................................................................2.4.3?.jar的安装 ......................................................................................................................................................................................................................................................................................................................................................................................................................................2.5Linux下创建Weblogic域..........................................................................................................2.6?Linux下Weblogic的启用和停止..........................................................................................2.6.1 用户名、密码配置 .........................................................................................................2.6.2启动Weblogic..................................................................................................................2.6.3停止Weblogic服务 ........................................................................................................三、WebLogic的基本概念 ...................................................................................................................3.1 域Domain..................................................................................................................................3.1.1 域的概念、范围和限制 .................................................................................................3.1.2 为什么要使用域 .............................................................................................................3.2 服务器........................................................................................................................................3.2.1 管理服务器 .....................................................................................................................3.2.2 受管服务器 .....................................................................................................................3.3 计算机Machine.........................................................................................................................3.3.1 Machine 的概念 ..............................................................................................................3.3.2 为什么要使用Machine..................................................................................................3.4 集群............................................................................................................................................3.4.1 什么是集群 .....................................................................................................................3.4.2 主要功能 .........................................................................................................................3.4.3 基本集群架构 .................................................................................................................3.4.5 多层集群架构 .................................................................................................................3.4.6 何时使用多层集群架构 ...............................................................................................3.4.7 多层集群架构的优缺点 ...............................................................................................3.4.8 代理服务器 .....................................................................................................................3.4.9 基本集群代理架构 .......................................................................................................多层集群代理架构 ...................................................................................................................四、WebLogic配置相关文件................................................................................................................4.1 启动服务相关的几个文件.......................................................................................................4.1.1 startWebLogic.cmd/startWebLogic.sh .............................................................................4.1.2 startManagedWebLogic.cmd/startManagedWebLogic.sh ..............................................4.1.3 setDomainEnv.cmd/setDomainEnv.sh .............................................................................4.1.4 stopWebLogic.cmd/stopWebLogic.sh..............................................................................4.1.5 stopManagedWebLogic.cmd/stopManagedWebLogic.sh ...............................................4.2 系统配置文件config.xml .........................................................................................................4.2.1 关于WebLogic 管理和config.xml 文件概述 ..............................................................4.2.2 何时去编辑config.xml ...................................................................................................4.2.3 config.xml 文件里的内容 ...............................................................................................4.3 属性文件weblogic.xml.............................................................................................................4.3.1 说明.................................................................................................................................4.3.2 可配置的属性详解 .......................................................................................................五、JMS配置 ..........................................................................................................................................5.1先配置持久化存储:.................................................................................................................5.2配置JMS服务器 .......................................................................................................................5.3.配置JMS模块 ...........................................................................................................................5.4配置子部署:.............................................................................................................................5.5创建队列.....................................................................................................................................5.6创建工厂.....................................................................................................................................六、WebLogic11g-常用运维操作...........................................................................................................6.1配置jvm参数: ........................................................................................................................6.2配置weblogic的线程队列: ....................................................................................................6.3日志配置:.................................................................................................................................一、Weblogic11g概述1.1编写目的■金税三期以后的综税的产品线中间件由原来Weblogic814,全面升级为Weblogic11g,JDK统一使用1.6及以上版本。
WebLogic内存溢出解决办法
Weblogic内存分配问题一:WebLogic配置问题:由于WebLogic的配置问题,我们的系统运行出现了失败情况。
原因是为WebLogic分配的内存太少了。
通过修改commom\bin\commEnv.cmd文件来增加内存分配。
修改的部分如下::beaif "%PRODUCTION_MODE%" == "true" goto bea_prod_modeset JAVA_VM=-jrockitset MEM_ARGS=-Xms768m -Xmx1024mset JAVA_OPTIONS=%JAVA_OPTIONS% -Xverify:nonegoto continue:bea_prod_modeset JAVA_VM=-jrockitset MEM_ARGS=-Xms768m -Xmx1024m //原来是128M~256M,太小了,数据太大goto continue结果修改后,没有效果。
还是有失败的情况。
发现,原来,在:bea下面还有一段配置信息如下::sunif "%PRODUCTION_MODE%" == "true" goto sun_prod_modeset JAVA_VM=-clientset MEM_ARGS=-Xms768m -Xmx1024m -XX:MaxPermSize=256mset JAVA_OPTIONS=%JAVA_OPTIONS% -Xverify:nonegoto continue:sun_prod_modeset JAVA_VM=-serverset MEM_ARGS=-Xms768m -Xmx1024m -XX:MaxPermSize=256mgoto continue将这里的内存分配修改后见效。
原因是,上面对第一段代码是为bea自己的JVM设置的,下面的是为Sun的设置的。
Weblogic常见报错以及解决方法[转载]
Weblogic常见报错以及解决⽅法[转载]Weblogic常见报错以及解决⽅法[转载]2020-09-13 09:55:22 4109 收藏 11⽂章标签:前⾔:Oracle WebLogic中间件在⽹站部署过程中经常会使⽤到。
该产品系列的核⼼是Oracle WebLogic服务器,它是⼀个功能强⼤和可扩展的Java EE服务器。
今天整理了在运维过程中经常会遇到的各种报错以及解决⽅法,纯技术⼲货,希望能够对正在学习weblogic过程中的您提供帮助。
weblogic有两种部署⽅式,单点模式和集群模式,单点模式直接创建⼀个域,在控制台进⾏程序部署即可;⽽集群模式分为admin(管理)节点和Managed(被管理)节点,管理节点通过控制台对被管节点进⾏管理,程序部署在被管节点的集群上。
不论是单点模式,还是集群模式,常见的报错基本⼀致。
基本概念Domain :域是作为单元进⾏管理的⼀组相关的 WebLogic Server 资源。
⼀个域包含⼀个或多个 WebLogic Server 实例,这些实例可以是集群实例、⾮群集实例,或者是集群与⾮群集实例的组合。
⼀个域可以包含多个集群。
域还包含部署在域中的应⽤程序组件、此域中的这些应⽤程序组件和服务器实例所需的资源和服务。
应⽤程序和服务器实例使⽤的资源和服务⽰例包括计算机定义、可选⽹络通道、连接器和启动类。
Domain 中包含⼀个特殊的 WebLogic 服务器实例,叫做 Administration Server,这是我们配置管理Domain中所有资源的核⼼。
通常,我们称加⼊Domain中的其他实例为 Managed Server,所有的Web应⽤、EJB、Web Services和其他资源都部署在这些服务器上。
Administration Server :管理服务器是控制整个域配置的中⼼操作节点,管理服务器维护着整个域的配置并将配置分配到每个被管理服务器 Managed Server 中。
weblogic运维时经常遇到的问题和常用的配置
weblogic运维时经常遇到的问题和常⽤的配置希望这篇能把weblogic运维时经常遇到的问题、常⽤的配置汇总到⼀起。
1、配置jvm参数:⼀般在domain启动过程中会看到以下启动的⽇志信息,如下图所⽰:图中红⾊⽅框部分为启动weblogic domain的命令。
其中包括了jvm参数以及classpath信息。
【注意】java -client是由于之前建⽴的domain是开发模式的。
⽣产模式的话,这⾥执⾏的是java -server。
⾄于-client与-server的区别,⼤家去google下吧,这⾥不介绍了。
那如何修改这个配置呢?找到setDomainEnv.cmd⽂件(linux下⾯就是setDomainEnv.sh了),位置为:weblogic11\user_projects\domains\example\bin\setDomainEnv.cmd修改⽂件中的MEM_ARGS部分,相关参数配置如下:Java代码1. call "%WL_HOME%\common\bin\commEnv.cmd"2.3. set WLS_HOME=%WL_HOME%\server4.5. if "%JAVA_VENDOR%"=="Sun" (6. set WLS_MEM_ARGS_64BIT=-Xms256m -Xmx512m7. set WLS_MEM_ARGS_32BIT=-Xms256m -Xmx512m8. ) else (9. set WLS_MEM_ARGS_64BIT=-Xms512m -Xmx512m10. set WLS_MEM_ARGS_32BIT=-Xms512m -Xmx512m11. )12.13. set MEM_ARGS_64BIT=%WLS_MEM_ARGS_64BIT%14.15. set MEM_ARGS_32BIT=%WLS_MEM_ARGS_32BIT%16.17. if "%JAVA_USE_64BIT%"=="true" (18. set MEM_ARGS=%MEM_ARGS_64BIT%19. ) else (20. set MEM_ARGS=%MEM_ARGS_32BIT%21. )22.23. set MEM_PERM_SIZE_64BIT=-XX:PermSize=128m24.25. set MEM_PERM_SIZE_32BIT=-XX:PermSize=48m26.27. if "%JAVA_USE_64BIT%"=="true" (28. set MEM_PERM_SIZE=%MEM_PERM_SIZE_64BIT%29. ) else (30. set MEM_PERM_SIZE=%MEM_PERM_SIZE_32BIT%31. )32.33. set MEM_MAX_PERM_SIZE_64BIT=-XX:MaxPermSize=256m34.35. set MEM_MAX_PERM_SIZE_32BIT=-XX:MaxPermSize=128m36.37. if "%JAVA_USE_64BIT%"=="true" (38. set MEM_MAX_PERM_SIZE=%MEM_MAX_PERM_SIZE_64BIT%39. ) else (40. set MEM_MAX_PERM_SIZE=%MEM_MAX_PERM_SIZE_32BIT%41. )42. if "%JAVA_VENDOR%"=="Sun" (43. if "%PRODUCTION_MODE%"=="" (44. set MEM_DEV_ARGS=-XX:CompileThreshold=8000 %MEM_PERM_SIZE%45. )46. )47.48. @REM Had to have a separate test here BECAUSE of immediate variable expansion on windows49.50. if "%JAVA_VENDOR%"=="Sun" (51. set MEM_ARGS=%MEM_ARGS% %MEM_DEV_ARGS% %MEM_MAX_PERM_SIZE%52. )53.54. if "%JAVA_VENDOR%"=="HP" (55. set MEM_ARGS=%MEM_ARGS% %MEM_MAX_PERM_SIZE%56. )57.58. if "%JAVA_VENDOR%"=="Apple" (59. set MEM_ARGS=%MEM_ARGS% %MEM_MAX_PERM_SIZE%60. )61.62. @REM IF USER_MEM_ARGS the environment variable is set, use it to override ALL MEM_ARGS values63.64. if NOT "%USER_MEM_ARGS%"=="" (65. set MEM_ARGS=%USER_MEM_ARGS%66. )主要就是修改-Xms、-Xmx、-XX:PermSize、-XX:MaxPermSize的参数(视具体硬件、JVM负载情况进⾏修改)。
WEBLOGIC启动JVM参数设置经验
WEBLOGIC启动JVM参数设置经验2011-11-01 08:41:46分类:Linux1. 堆大小设置JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。
32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。
我在Windows Server 2003 系统,3.5G物理内存,JDK5.0下测试,最大可设置为1478m。
典型设置:o java -Xmx3550m -Xms3550m -Xmn2g -Xss128k-Xmx3550m:设置JVM最大可用内存为3550M。
-Xms3550m:设置JVM促使内存为3550m。
此值可以设置与-Xmx相同,以避免每次垃圾回收完成后JVM重新分配内存。
-Xmn2g:设置年轻代大小为2G。
整个JVM内存大小=年轻代大小 + 年老代大小 + 持久代大小。
持久代一般固定大小为64m,所以增大年轻代后,将会减小年老代大小。
此值对系统性能影响较大,Sun官方推荐配置为整个堆的3/8。
-Xss128k:设置每个线程的堆栈大小。
JDK5.0以后每个线程堆栈大小为1M,以前每个线程堆栈大小为256K。
更具应用的线程所需内存大小进行调整。
在相同物理内存下,减小这个值能生成更多的线程。
但是操作系统对一个进程内的线程数还是有限制的,不能无限生成,经验值在3000~5000左右。
o java -Xmx3550m -Xms3550m -Xss128k -XX:NewRatio=4 -XX:SurvivorRatio=4 -XX:MaxPermSize=16m -XX:MaxTenuringThreshold=0-XX:NewRatio=4:设置年轻代(包括Eden和两个Survivor区)与年老代的比值(除去持久代)。
设置为4,则年轻代与年老代所占比值为1:4,年轻代占整个堆栈的1/5-XX:SurvivorRatio=4:设置年轻代中Eden区与Survivor区的大小比值。
Weblogic内存溢出及常用参数配置
Weblogic内存溢出及常用参数配置一、WebLogic内存溢出最近访问量门户访问量突然增大,总是内存溢出,频繁宕机,调整了很多参数没起作用,偶然发现Weblogic域在不断增大,罪魁祸首竟然是Weblogic的诊断文件,也是造成Weblogic内存溢出的主要原因。
当Weblogic启动时就加载了每个Server上的诊断文件,占用了大部分内存分配,用户访问量越大这个文件也随之越大,将他删除后重新启动服务,八个Server竟然也只用了6分钟,部署项目也只需7,8分钟,一直平稳运行,再无内存溢出现象。
该文件地址:/bea/user_projects/domains/{domain_name}/servers/{Server_name}/data/s tore/diagnostics/*.DAT(注:AdminServer下该诊断文件为1M左右正常)但是该文件还会继续生成增大,我们的域中并没有配置相关启动诊断文件的设置,Bea售后也无法解释,但可以通过尝试增加启动参数(ui.disableInstrumentation=true)来控制该诊断文件的增长,在/bea/user_projects/domains/{domain_name}/bin/startWebLogic.sh中:if [ "${WLS_REDIRECT_LOG}" = "" ] ; thenecho "Starting WLS with line:"echo "${JAVA_HOME}/bin/java ${JAVA_VM} ${MEM_ARGS} ${JAVA_OPTIONS} ui.disableInstrumentation=true =${S ERVER_NAME}-Djava.security.policy=${WL_HOME}/server/lib/weblogic.policy ${PROXY _SETTINGS} ${SERVER_CLASS}"${JAVA_HOME}/bin/java ${JAVA_VM} ${MEM_ARGS} ${JAVA_OPTIONS}ui.disableInstrumentation=true =${SE RVER_NAME}-Djava.security.policy=${WL_HOME}/server/lib/weblogic.policy ${PROXY_SETTINGS} ${SERVER_CLASS}elseecho "Redirecting output from WLS window to ${WLS_REDIRECT_LOG}"${JAVA_HOME}/bin/java ${JAVA_VM} ${MEM_ARGS} ${JAVA_OPTIONS}ui.disableInstrumentation=true =${SE RVER_NAME}-Djava.security.policy=${WL_HOME}/server/lib/weblogic.policy ${PROXY_SETTINGS} ${SERVER_CLASS} >"${WLS_REDIRECT_LOG}" 2>&1该参数控制netui的诊断文件的生成。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
同时,可以在/bea/user_projects/domains/{domain_name}/bin/setDomainEnv.sh中设置GC日志的打印参数分析:
MEM_ARGS=”-Xms2048m –Xmx2048m –verbosegclog:gc.log”
Extension-Name: wls-commonslogging-bridge, Specification-Version: 1, Implementation-Version: 1.0, exact-match: false.'
weblogic.management.DeploymentException:J2EE:160149Error while processing library references.
(address=(host=scdb2_vip)
(protocol=tcp)(port=1521))
(load_balance=yes)
(failover=yes))
(connect_data=(service_name=scdb)))
Weblogic.xml中的参数:
集群环境部署参数(集群单机环境都可用):
Export MEM_ARGS
该参数会在/bea/user_projects/domains/{domain_name}/下输出gc.lgo
二、Portal Domain调整
Domain目录/bin/setDomainEnv中,如下参数:
标志
生产模式设置
说明
DOMAIN_PRODUCTION_MODE
False
是否向屏幕输出error日志
verboseLogginFlag
False
是否输出Debug日志
PointbaseFlag
False
是否自动启动Pointbase
三、Weblogic常用参数配置
序号
项目
内容
描述
参考值
附图
1
Domain>
Environment>
Cluster>
General>
</wls:container-descriptor>
图一
图二
图三
三、集群项目部署报错及解决
集群环境项目部署,总会出现版本不一致,造成的部署失败或部署非常慢,部署报错信息:
Failure occured in the execution of deployment request with ID '116857440499' for task '2'.
true
该参数决定Domain是否在生产环境下运行,可以在创建Domain时选择运行模式,也可以手工调整这个参数
IterativeDevFlag
false
是否自动编译
DebugFalg
false
是否启用调试器
TestConsoleFlag
False
支持JMS测试工具
LogErrorsToConsoleFlag
<wls:session-descriptor>
<wls:persistent-store-type>replicated_if_clustered</wls:persistent-store-type>
<wls:sharing-enabled>true</wls:sharing-enabled>
</wls:session-descriptor>
Extension-Name: beehive-controls-1.0, Specification-Version: 1, Implementation-Version: 1.0, exact-match: false,
Extension-Name: weblogic-controls-1.0, Specification-Version: 1, Implementation-Version: 1.0, exact-match: false,
Default Load Algorithm:
设置集群负载均衡策略
Round-robin:循环
Weight-based:权重(配置此种策略要针对没各Server配置想用的权重,见2)
Random:随机
Round-robin-affinity/
Weight-based-affinity/
Random-affinity这三个参数针对硬件做前端负载均衡设置
限制保留的日志文件数
要保留的日志文件个数
选择
10
4
Domain>
Connection Pools>
Configuration>
Connections
Initial Capacity:
Maximum Capacity:
设置初始容量
最大容量
建议初始容量和最大容量设置成相等值,并要考虑并发访问数据库的线程数来调整参数
Error is: 'weblogic.management.DeploymentException:J2EE:160149Error while processing library references.
Unresolved application library references, defined in weblogic-application.xml:
Unresolved application library references, defined in weblogic-application.xml:
Extension-Name: beehive-controls-1.0, Specification-Version: 1, Implementation-Version: 1.0, exact-match: false,
5
Domain>
Connection Pools>
Configuration>
Connections
URL
集群数据库URL设置方法
例如:jdbc:oracle:thin:@
(description=
(address_list=(address=(host=scdb1_vip)
(protocol=tcp)(port=1521))
......
解决办法:
将weblogic上所有的类库不仅发不到Cluster中还要同时发布到AdminServer上,改变所有类库的Target,如图:
自动编译检测时间
<wls:jsp-descriptor>
<wls:page-check-seconds>60</wls:page-check-seconds>
</wls:jsp-descriptor>
<wls:container-descriptor>
<wls:servlet-reload-check-secs>60</wls:servlet-reload-check-secs>
Extension-Name: weblogic-controls-1.0, Specification-Version: 1, Implementation-Version: 1.0, exact-match: false,
Extension-Name: wls-commonslogging-bridge, Specification-Version: 1, Implementation-Version: 1.0, exact-match: false.
该文件地址:/bea/user_projects/domains/{domain_name}/servers/{Server_name}/data/store/diagnostics/*.DAT
(注:AdminServer下该诊断文件为1M左右正常)
但是该文件还会继续生成增大,我们的域中并没有配置相关启动诊断文件的设置,Bea售后也无法解释,但可以通过尝试增加启动参数(ui.disableInstrumentation=true
${JAVA_HOME}/bin/java ${JAVA_VM} ${MEM_ARGS} ${JAVA_OPTIONS}ui.disableInstrumentation==${SERVER_NAME} -Djava.security.policy=${WL_HOME}/server/lib/weblogic.policy ${PROXY_SETTINGS} ${SERVER_CLASS}
标题:
Weblogic内存溢出及常用参数配置
分类:
EIP
提交人:
冯亚俊
提交时间:
2009-07-09 15:21:00.0
摘要描述:
Weblogic内存溢出及常用参数配置
详细内容
一、WebLogic内存溢出
最近访问量门户访问量突然增大,总是内存溢出,频繁宕机,调整了很多参数没起作用,偶然发现Weblogic域在不断增大,罪魁祸首竟然是Weblogic的诊断文件,也是造成Weblogic内存溢出的主要原因。当Weblogic启动时就加载了每个Server上的诊断文件,占用了大部分内存分配,用户访问量越大这个文件也随之越大,将他删除后重新启动服务,八个Server竟然也只用了6分钟,部署项目也只需7,8分钟,一直平稳运行,再无内存溢出现象。
)来控制该诊断文件的增长,在/bea/user_projects/domains/{domain_name}/bin/startWebLogic.sh中: