全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
WebLogic 性能故障总结2011-05-18 13:07:33|分类: 工作ING |标签:weblogicjvm线程javagc |字号大中小订阅 系统内存不足系统cpu忙系统文件描述符数目不足线程死锁JVM有GC方面的bug对于一些特定的情况可以使用truss命令跟踪系统调用来进行分析 系统内存不足出现OutOfMemoryError或是观察到内存吃紧操作系统本身的剩余内存通过top或是vmstat观察操作系统的swap区Swap区太小可能导致编译jsp时报“Not enough space”的错操作系统kernel参数中maxdsiz的大小如果观测到数据库连接池里的连接泄漏,极可能是内存泄漏的先兆系统内存不足JVM的heap区大小通过java命令行中的-Xms,-Xmx指定,建议最小值和最大值设成一样可以通过weblogic console上server/monitor/performance来观察其使用情况建议生产系统最少256M,一般情况下可以设置为系统剩余物理内存的80Heap size太大在一些jvm上会有问题对于sun和hp的jvm,permanent size太小也会出OutOfMemoryError在java命令行上加-XX:MaxPermSize=128m系统内存不足尽量减少内存消耗Session中不要放大的数据,并尽量在不再需要的时候remove掉;如果可以调整session timeout到较小的值避免在J2EE server端应用里边调用awt/swing作图调整ejb的cache/pool设置系统内存不足内存泄漏可以通过weblogic console来观察jvm的heap memory使用情况来获知是否有内存泄漏情况采用第三方辅助工具来获取更详细信息Jprobe/OptimizeIt有可能是weblogic的bug,但绝大部分情况是由用户的应用引起的最常见的代码问题是数据库连接没正常关闭比较好的写法是:Connection conn = null;Statement stmt = null;ResultSet rset= null;tryconn = getConnection()catch(SQLException sqle)finallytryrset.close();catch(Exception e)trystmt.close();catch(Exception e)tryconn.close();catch(Exception e)系统cpu忙如果用户访问量很大,cpu占用很高(user态)并不是异常如果是kernel态很多,需要OS厂商调整操作系统采用top找到占用cpu很多的进程如果是非weblogic进程,应该考虑将其移到另外的server上运行如果是运行weblogic的java进程,通过做thread dump(详细信息后边会介绍到)来确认是那段代码导致了这么高的cpu使用(也有可能是os/jvm本身不正常)系统文件描述符数目不足Log中有“too many open files”的错误表示达到了系统对一个进程能同时打开的文件数的限制ulimit a H 可以查看当前限制ulimit n number可以来更改当前环境的设置,建议至少设到4096Solaris上可以通过/usr/proc/bin/pfiles pid来查看指定进程的限制和当前使用的file descriptor数目Solaris上root用户可以通过/usr/proc/bin/plimit -n soft,hard pid 来动态更改进程的文件描述符的限制 线程死锁对于原因不明的hang或是响应慢,最根本的方法就是获取thread dump信息对于windows系统,在运行java的窗口按CtrlBreak对于unix系统,首先用ps找到运行weblogic的java进程的pid,然后执行kill 3 pidJVM将负责将所有java进程的状态、执行堆栈dump到其标准输出为了方便获取thread dump信息,在weblogic启动的时候,最好将其标准输出重定向到一个文件为了反映线程状态的动态变化,需要接连多次做thread dump,每次间隔10-20s线程死锁对于thread dump信息,主要关注的是线程的状态和其执行堆栈线程的状态一般为三类Runnable(R):当前可以运行的线程Waiting on monitor(CW):线程主动waitWaiting for monitor entry(MW):线程等锁一般关注的都是第一和第三种状态的线程Cpu很忙则关注runnable的线程Cpu闲则关注waiting for monitor entry的线程一种典型的死锁是由于在server端应用(比如servlet)中请求由同一weblogic实例serve的资源解决办法就是将该servlet放到另外的执行队列里去执行JVM有GC方面的bug打开jvm的gc log在java命令行上加上-verbose:gcGC的log输出在java进程的标准输出里在hp的jvm上,可以通过在java命令行上加 -Xverbosegc:file=gcfilename来将gc log写到指定的文件其输出类似: GC 15639K-13700K(65280K), 0.0068439 secs调整jvm的内存设置和gc算法升级jvm或是os patchmit n number可以来更改当前环境的设置,建议至少设到4096Solaris上可以通过/usr/proc/bin/pfiles pid来查看指定进程的限制和当前使用的file descriptor数目Solaris上root用户可以通过/usr/proc/bin/plimit -n soft,hard pid 来动态更改进程的文件描述符的限制 线程死锁对于原因不明的hang或是响应慢,最根本的方法就是获取thread dump信息对于windows系统,在运行java的窗口按CtrlBreak对于unix系统,首先用ps找到运行weblogic的java进程的pid,然后执行kill 3 pidJVM将负责将所有java进程的如何提高Weblogic系统的稳定性及性能 2006-10-31 14:30:09|分类: Weblogic |标签:性能weblogic |字号大中小订阅 这个问题面比较宽,可以从如下几个方面考虑:1)根据WLS版本的要求,平台是否是认证的平台,JDK版本是否是认证的版本,可以参照 /wls/certifications/certifications/index.html2)操作系统的补丁是否符合要求3)Unix系统中调整文件描述符到一个合适的值. 4)Solaris 系统中调整TCP参数5)调整系统中用户进程空间大小6)调整运行weblogic的JVM的内存Heap size,在2G以下,越大越好。 参数: -Xms:xxxM -Xmx:xxxM7)调整JVM的Young Generation的size大小. 参数:-XX:NewSize
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 广告传媒公司运营管理方案
- 闽教版(2020)信息技术三年级下册 彩色橡皮修细节(教学设计)
- 银行柜台业务流程规范与风险控制
- 2025远洋渔业船舶智能化改造需求与海洋卫星通信应用前景报告
- 数学冀教三上 第7单元 7.1 认识吨 教案+习题
- 2025超导材料在电力传输领域的应用瓶颈与示范项目评估报告
- 2025裁断机配套软件开发趋势与工业互联网融合应用报告
- 2025裁断机行业全球化布局与区域市场拓展策略分析报告
- 2025蓝氢项目碳捕捉率验证与欧盟碳关税应对策略分析报告
- 2025药材行业市场深度调研及发展趋势和投资前景预测研究报告
- 玻璃升降器拆装与检修课件
- 东南亚护肤品电商行业市场洞察(2025年8月版)
- T-CSER007-2024煤基固废人造土壤基质用于盐碱地改良的技术规范编制说明
- GJB9764-2020可编程逻辑器件软件文档编制规范
- 热催化转化-洞察及研究
- 《“十五五”冷链物流发展规划》发布 2035年全面建成现代冷链物流体系
- 拆电梯施工方案(3篇)
- 2025中国邮政校园招聘补录笔试历年参考题库附带答案详解
- 2024届吉林省吉林地区普通高中高三三模考试语文试题+答案
- 职称评定政策解读
- 发动机装配工艺培训课件
评论
0/150
提交评论