下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
现状:系统运行一段时间后,速度开头变慢,而且越来越严峻;FullGC过于频繁,使得系统中断次数越来越多;处理方法:在JVM中增加GC输出,在tomcat/bin/catalina.sh中增加如下设置JAVA_OPTS=“$JAVA_OPTS -verbose:gc -Xloggc:/var/log/gc.log -XX:+PrintGCDetails-XX:+PrintGCTimeStamps-XX:+PrintHeapAtGC-XX:+PrintTenuringDistribution“,JVM会自动gc日志,格式如下:{HeapbeforeGCinvocations=35(full2):PSYoungGen total 1047552K, used 1046528K [0xb42a0000, 0xf42a0000,0xf42a0000)edenspace1046528K,100%used[0xb42a0000,0xf40a0000,0xf40a0000)fromspace1024K,0%used[0xf41a0000,0xf41a0000,0xf42a0000)to space1024K,0%used[0xf40a0000,0xf40a0000,0xf41a0000)PSOldGen total2097152K, used 277656K [0x342a0000, 0xb42a0000,0xb42a0000)objectspace2097152K,13%used[0x342a0000,0x451c6000,0xb42a0000)PSPermGen total 65536K, used 21366K [0x142a0000, 0x182a0000,0x342a0000)objectspace65536K,32%used[0x142a0000,0x1577d920,0x182a0000)333342.537:[GCDesiredsurvivorsize1048576bytes,newthreshold1(max15)[PSYoungGen: 1046528K->1024K(1047552K)] 1324184K->400132K(3144704K),0.2424250secs][Times:user=1.92sys=0.00,real=0.24secs]HeapafterGCinvocations=35(full2):PSYoungGen total 1047552K, used 1024K [0xb42a0000, 0xf42a0000,0xf42a0000)edenspace1046528K,0%used[0xb42a0000,0xb42a0000,0xf40a0000)fromspace1024K,100%used[0xf40a0000,0xf41a0000,0xf41a0000)to space1024K,0%used[0xf41a0000,0xf41a0000,0xf42a0000)PSOldGen total2097152K, used 399108K [0x342a0000, 0xb42a0000,0xb42a0000)objectspace2097152K,19%used[0x342a0000,0x4c861010,0xb42a0000)PSPermGen total 65536K, used 21366K [0x142a0000, 0x182a0000,0x342a0000)objectspace65536K,32%used[0x142a0000,0x1577d920,0x182a0000)}JVMHEAP的构造如下:GC有两种:rC:对于生成的对象,都放在n中;当n布满时〔小孩太多了C将old空间中;fullGColdfullGC。fullGCold,young里面大局部垃圾block。jmapJVMheap使用状况:jmap-heap4306AttachingtoprocessID4306,pleasewait...Debuggerattachedsuccessfully.Servercompilerdetected.JVMversionis16.3-b01usingthread-localobjectallocation.ParallelGCwith8thread(s)HeapConfiguration:MinHeapFreeRatio=40MaxHeapFreeRatio=70MaxHeapSize =3221225472(3072.0MB)NewSize =4194304(4.0MB)MaxNewSize =4294901760(4095.9375MB)OldSize =4194304(4.0MB)NewRatio =2SurvivorRatio =1000PermSize =67108864(64.0MB)MaxPermSize =536870912(512.0MB)HeapUsage:PSYoungGenerationEdenSpace:capacity=1071644672(1022.0MB)used =662329344(631.646484375MB)free =409315328(390.353515625MB)61.80493976272023%usedFromSpace:capacity=1048576(1.0MB)used =1048576(1.0MB)free =0(0.0MB)100.0%usedToSpace:capacity=1048576(1.0MB)used =0(0.0MB)free =1048576(1.0MB)0.0%usedPSOldGenerationcapacity=2147483648(2048.0MB)used =713975824(680.9004058837891MB)free =1433507824(1367.099594116211MB)33.24709013104439%usedPSPermGenerationcapacity=67108864(64.0MB)used =21879232(20.86566162109375MB)free =45229632(43.13433837890625MB)32.602596282958984%usedMinorGCNewRatio来把握new空间的大小。FullGC比较耗时,对系统影响较大。假设觉察几次FullGC后,内存使用没有降下来,则有可能存在内存泄露:catgc.log|grep“FullGC“2581.257: [Full GC [PSYoungGen: 640K->0K(589248K)] [PSOldGen:664345K->207093K(699072K)] 664985K->207093K(1288320K) [PSPermGen:30828K->30828K(131072K)],1.2023230secs][Times:user=1.19sys=0.01,real=1.20secs]2929.640: [Full GC [PSYoungGen: 64K->0K(645824K)] [PSOldGen:676059K->185422K(699072K)] 676123K->185422K(1344896K) [PSPermGen:30962K->30962K(131072K)],1.0784410secs][Times:user=1.08sys=0.00,real=1.07secs]3465.263: [Full GC [PSYoungGen: 640K->0K(564096K)] [PSOldGen:676009K->208685K(699072K)] 676649K->208685K(1263168K) [PSPermGen:30985K->30985K(131072K)],1.2440760secs][Times:user=1.24sys=0.00,real=1.24secs]3765.206:[FullGC[PSYoungGen:640K->0K(387648K)][PSOldGen:656238K->260889K(725952K)] 656878K->260889K(1113600K) [PSPermGen:31005K->30805K(131072K)],1.7598360secs][Times:user=1.76sys=0.00,real=1.76secs]4006.283: [Full GC [PSYoungGen: 640K->0K(549568K)] [PSOldGen:641960K->418960K(905152K)] 642600K->418960K(1454720K) [PSPermGen:30818K->30818K(131072K)],2.3026830secs][Times:user=2.30sys=0.00,real=2.30secs]4545.212: [Full GC [PSYoungGen: 640K->0K(472023K)] [PSOldGen:879051K->207236K(699072K)] 879691K->207236K(1171072K) [PSPermGen:30854K->30854K(131072K)],1.2098150secs][Times:user=1.19sys=0.02,real=1.21secs]6052.607: [Full GC [PSYoungGen: 64K->0K(573568K)] [PSOldGen:682860K->155937K(699072K)] 682924K->155937K(1272640K) [PSPermGen:30890K->30890K(131072K)],0.8968940secs][Times:user=0.89sys=0.00,real=0.90secs]HPDiagnostics是一个比较好用的工具,可以诊断出执行时间较长和频繁的sql、执行时间较长的方法,还可以跟踪内存的使用状况以及对象的数量〔Jprofilertomcat格外慢,不知道现在性能怎样〕设置步骤如下:tomcatHpDiagnosticsDiagnostics分析器使用在 tomcat 中 加 入 如 下 设 置 : JAVA_OPTS=“$JAVA_OPTS-javaagent:/opt/MercuryDiagnostics/JavaAgent/DiagnosticsAgent/lib/probeagent.jar-agentpath:/opt/MercuryDiagnostics/JavaAgent/DiagnosticsAgent/lib/x86-linux64/libjvmti.so“tomcat35000端口HPJavaAgentjavawebstart://server:35000即可连接FullGC后的对象数量,确定特别对象的数量。所以需要对内部的规律有确定的了解,否则很难确定对象的数量存在特别。假设能确定到内存泄露的对象,还需要确认是哪个地方引用了这些对象,以至于无法释放。通常需要留意的地方时一些Map、ThreadLocal、静态变量等,web应用中还需要留意sessionapplication中是否存在没有去除的数据。分析代码是一种方式,但是很多时候可能很难从代码中定位。JVM自带的工具jmap在这个时候可以派上大用场。使用如下命令可以生成dump信息:jmap-dump:live,format=b,file=heap20230114.bin3624Dumpingheapto/var/log/heap20230114.bin...Heapdumpfilecreatedjhatdump信息:jhat-J-mx1024mheap_snapshot.binReadingfromheap.bin...DumpfilecreatedFriDec3109:30:54CST2023Snapshotread,resolving...Resolving2474879objects...Chasing references, expect 494dots........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 第21课 世界殖民体系的瓦解与新兴国家的兴起 课件-高三统编版2019必修中外历史纲要下册一轮复习
- 湖北省钢城四中20172018学年高二下学期3月月考数学(理)试卷
- 工程投标管理程序
- 100我国的海洋国土
- 工程试验计划
- 猜想07相似三角形(四种基本模型专练)(原卷版)
- 122化学元素与人体健康
- 人教部编版八年级语文上册《国行公祭为佑世界和平》示范公开课教学课件
- 专利代理居间协议模板
- 机场贵宾厅装修设计合同
- 西方经济学 课件 10 失业与通货膨胀理论
- 快速康复外科在泌尿外科患者围手术期护理中的应用进展
- 妇科护理宫颈炎盆腔炎的护理
- (新版)三级物联网安装调试员技能鉴定考试题库大全-上(单选题汇总)
- 快消行业品牌分析
- 第6课《求助电话》课件
- 防火封堵报价范本
- 口腔新技术护理课件
- 社交电商的供应链管理和优化
- 奇正藏药行业分析
- 农牧项目计划书
评论
0/150
提交评论