版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、WebSphere 内存溢出处理1. jvm大小调整到768-1.5g ,不要超出1536 (MB。对于32位JDK如果初始值 超过2048 (即2GB的JVM堆大小),将导致JVM初始化失败,websphere服 务器无法启动。经验:如果使用超过 1.5GB的JVM大小,就有可能出现古怪 的内存分配失败问题。 (websphere6.1 使用 IBM JDK 5.0,针对大对象的内 存分配做了处理。)注意:调整JVM堆大小是最后应该考虑的手段,因为增 大JVM同时也会增加垃圾回收的系统暂停时间。2. IBM JDK 5.0 有 4种垃圾回收机制可针对不同问题使用。命令: -Xgcpolicy
2、:<optthruput|optavgpause|gencon|subpool>Optthruput 默认的回收策略, 不使用并发标记。 如果用户没有因为内存 回收时系统暂停时间过长问题,可以保持这个默认的参数。Optavgpause 如果内存回收时导致系统暂停时间过长,建议使用这个策 略。它可以缩短系统内存回收时的被暂停时间。Gencon 是一种将并发标记和传统的垃圾回收机制综合使用的策略, 用于 将内存回收时的暂停时间最小化。Subpool 不使用并发标记,但是,使用一种改进的内存分配算法用来获 得更好的性能。后两种在电子商务应用中可提升 30%60%的吞吐量。3. 打开垃圾回
3、收详细信息功能。可以在控制台中设置,设置后需要重新启动 websphere 才能生效。开启这个 功能后会生成进程日志( vnative_stdout.log 或者 vnative_stderr.log 。 包含垃圾处理过程的信息。这项功能默认是不启用的。可以使用相应的工具 分析这些文件来分析垃圾回收的情况。fic-lqt应用,辩服畀誥 a区用程序 0资潢 s去空性B环境£系坑丢曜田故林整斥li爵蚤坦迴1 A握程住 >Java虔拟机常厠匡性英路径1口匚引导类路從1匚匚L回勾选这项重启,就可以了 垃圾回收分析工具PMAT(ga)支持多种JDK版本的分析启动 java -Duser.
4、language=cn -Duser.country=CN -jar ga29.jar不同的系统产生的日志采用不同参数,默认的是IBM的。点击 导入 vnative_stderr.log文件。_j C ; Propun Fil«iiW*bSph«z-tAppStrv<rlDc£t4rvar=,;.I =native_stderr. lag J n.fiiti!ve_slddut. l«g 国 server 1. pi dlotniundtr work TP-LIHliI stopServer. log f SystamErr leg9 System
5、Out. lagTlrlay 皂 rUninsttil Infor*ati onv(used(after )就是GC完成后占用内存大小的变化曲线)In IDE FhQ Iexh luiLrl ajig xad Aiu.1 yvis Tvul Cwe Jhyb G he bifr CuIIcl'C uiif¥*" H*AF (Allocation Failure )内存分配失败内存泄露(Memory Leak)由于应用程序的非正常的申请越来越多的内存对 象导致最终所有的内存空间被用完。内存碎片(MemoryFragmentation )即虽然所有的空闲的内存空间的总和
6、大 于所需申请的内存,但是,由于这些内存不是连续的(由于某些内存无法移 动)而无法分配。内存碎片问题多数是由于固定对象和大对象问题引起的。 分析方向:(两个图表 两次分配失败的间隔时间(Time since last AF )和 GC完成时间(Complete time )如果GC的频率很咼(不论GC的完成时间是否正常),则很可能是真正的 内存碎片问题。可以尝试调大 JVM堆大小。GC的每次执行时间应该小于10S。如果大于这个值说明垃圾回收器要花 很长一段时间去清理大空间堆里的对象。这一般说明JVM堆的最大值过大,应该调小。“GC的周期和分布”可以用来分析GC的开销是否过大;“GC后的空闲内
7、存空间”可以用来发现内存泄露;“ GC前的空闲内存空间”和“引起 AF 请求的大小”可以发现碎片过多和大对象问题,等等。碎片问题(AF发生前的总空闲内存大小和导致 AF的内存请求大小图表) 正常情况下,AF发生前的总空闲内存大小应该比较小,或至少小于导致AF的内存请求大小。正常情况下,这个曲线应该贴近水平坐标轴, 即AF发生前剩余空间应该接近零。反之,就很可能出现了内存碎片问题。内存碎片问题解决(大部分是由于固定对象问题(pinned object )和大 对象问题),固定对象问题可以通过设置“ -Xk ”和“ -Xp ”通用JVM参数 来解决。在通用 JVM参数中设置参数 “ -verbos
8、egc -Dibm.dg.trc.print=st_verify ”,重新启动 websphere 就可以在日志 中看到相应的“ pinned=nnnn”等信息。序号参数含义单位1Since从上次AF到现在的时间millisecond2Freed这次GC释放的空间byte3Needed/Requested这次AF的请求空间byte4Free这次GC后总的空闲空间byte5TotalGC后的Java堆大小byte6Completed完成AF的时间millisecond7GC Completed or GC完成GC消耗的时间millisecond8Overhead完成AF的时间%9Mark标记状态
9、消耗的时间millisecond10Sweep打扫状态消耗的时间millisecond11Compact压缩耗时millisecond12Exhausted是否没有足够的空间分配使失败4. 两种情况会导致 java.lang.OutOfMemoryError exceptionThe Java? Virtual Mach ine (JVM) might run out of con tiguous Javaheap space to allocate a Java object.The JVM might not be able to allocate n ative memory.5. 分析
10、系统的堆镜像(heap dump文件系统有可能自动产生,但是建议在系统运行过程中手工产生 heapdump文件 下面介绍两种手工产生heapdump文件的方法。对于IBM JDK可以使用IBM Heap Dump这是IBM自带的工具。为了使用这个工具,需要在websphere管理控制台中添加JVM的如下定制属性:IBM_HEAPDUMP=TRUEIBM_HEAP_DUMP=TRUEIBM_HEAPDUMPDIR=<HEAPDU件MP出路径 > IBM_HEAPDUMP_OUTOFMEMORY=TRUE IBM_JAVADUMP_OUTOFMEMORY=TRUE IBM_JAVA_H
11、EAPDUMP_TEXT=TRUE如果没有设置IBM_HEAPDUMPD默认的输出路径就是应用服务器的根目录。 保存修改后重新启动应用服务器。在 unix平台需要获取应用服务器进程的进程PID, Unix下需要获得heapdump文件的时候,在命令行输入“ kill -3 <PID>”命令。该命令会在指定的目录下产生“heap dump和“ javacore ”文件。一般来说需要产生多次heapdump文件来对比分析。Windows下,没有 kill命令,需要通过webshpere应用服务器的命令行控制台进行。如下例: <WAS_HOME>profilesserver1
12、bin>wsadmin.batwsadmin>set jvm $AdminControl completeObjectName type=JVM,process=server1,* wsadmin>$AdminControl invoke $jvm dumpThreads可以使用分析工具有Heap An alyzer和MDD4J(分析heap dump。6. Heap Analyzer 使用分析 javacore 文件使用命令行:java -<mx1300m -jar ha26.jar打开载入界面|_Nm &VbwtHF LImIm5 I M an mil 9t
13、 I *11 I II faa I (Eiqi !=凹 |可以查看是否有死锁IBM Thread and Monitor Diimp Arkilyzwr for larva Tchrwki>哮y Analysis View HelpB Thread Jei3«: lavdcoreiewi iissmixi裂剪1旦兰L_RT3.P=531381 O=0:WS. WditkMi uit concMicugeweiSoetei削 di=0QQ. RunnHReference HandlermaMSer濟 o 晌附 d 匸心 u. Q. Waging on conamoftLI5TtN
14、Method 8 o ckellnp utSIre a.-« . T -_怕朋 dMuo ; iiRuth仙誓Servlet EnglneTranspgrts OHiM-k Wftilirn亦i rdfSmirdEt Engie 已 Tan誹iQrte. |te詢l/clc制伽q on conM 0日刑 ptEngi n eTjpn:gpo rts Waiti 住q on coridAwnlct Er cim:-亍isnz:n j寸u . Waitrncj on coridilionL j -di:l 匚 r c inc Ti .sn z. 3:rt:. . WaitiriEj on
15、 condhioii ServletEngini&.f ransp :irts.nn coti-SeN EtEngi ne.T ran sports. Waiting on cciidilion :3e lel 匸i uine.Ti3 rt,. WditH旧 un coiidiljun Servlet Engine.Transporti. Wafting on CDncNIinn阳阳將HQ 0刖肌戲i . ra 丽日JtWc ,<jr|wer-Ora(;”u nadajcjtjc ,cirl¥mr-Orac l$G. ” ou?:0 jbc.NQr Gr站l©
16、C?. oiacie jdbc JrNcr Qr?leC. oiacie.jDt JrNcr OracleC. oi-3-;:e.jdt)cJriver Oi 彳:1护.orade.icUbc.clfiver.Orac leC. o racle. jdft c .drler.Orac leC.lel El I:ii!t -icri:i J-I? Worlrrmun cundiliunServl 戟 Engine T 悒 nsm 惟.Wrtfcig on condhltm8biyI et End “氐廿玄帕阿怡.,輛超t亦 ch ctmdhl亦inaciejtl 比 血iwetorac ief.
17、“ratleJtlDt.ckwer.Oratlee.- ch酬ie Jdhc driver or jdeP.UoeH 口十 匚 忤ci 八 a、T'i:in口trie ri口)Af AittKu'-fer-firiflrtifitiHThread Name - Servlet Engine.Transports :13031Slate Dsadlock/VMaitiiig oncnnditiDii iOwhs Moinitor Lack ond racle.jdbc .driver. 0 racleConnecti on31 7D42610J317D4268W吕帀ng 伽 Monitor Lock on racle.jdbc .drier.0 racleCallab leState me nt317A5AD8/317A5AE0Java Stackalo raciejdu.driver OracieCallatiieState me nt sendBatch(OracleC aliabl eStelem entja ¥a
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024宾馆室内装修合同标准样本
- 2024房屋名额转让协议,房屋名额转让协议范本,写购房名额转让合同
- 2024担保合同格式参考
- 2024家教的劳动合同范本
- 2024软件开发合同标准模板
- 小区车库广告位租赁合同
- 产品临时借用协议
- 建筑业劳动合同:退休政策改革与规范
- 历史文化遗产保护拆迁合同
- 农业项目合作书参考
- FZ/T 01002-2010印染企业综合能耗计算办法及基本定额
- 药品储备评估表
- 国家自然科学基金申请经验汇总课件
- 青春期女孩自尊自爱课件
- 2023年西藏开发投资集团有限公司招聘笔试题库及答案解析
- 小学语文人教三年级上册观察桔子孙娟课件
- 藏族人的名字标准英语翻译
- 市场营销产品组合与产品策略课件
- 医院会计实务操作培训课件
- 《江苏省建筑业10项新技术(2021)》
- 高中化学实验员招聘考试试卷及评分标准
评论
0/150
提交评论