CMALL商城目录 卸载rpmqagrepjdk rpmqagrepjdkxargsrpmenodeps安装usrjavajdk1。8。0191jdk8u191linuxx64。tar。gztarxvfjdk8u191linuxx64。tar。gzjavaversion: 调优排查用于查看当前机器上运行的java进程:jpslvm可以查看某个进程的线程信息:topHp43576查看进程内存占用:psauxgrep15276JVM参数:XX:MetaspaceSize128m(元空间默认大小)XX:MaxMetaspaceSize128m(元空间最大大小)Xms1024m(堆初始大小)Xmx1024m(堆最大大小)Xmn256m(新生代大小)Xss256k(栈最大深度大小)XX:SurvivorRatio8(新生代分区比例8:2)XX:UseConcMarkSweepGC(指定使用的垃圾收集器,这里使用CMS收集器)XX:PrintGCDetails(打印详细的GCahrefhttps:www。bs178。comrizhitargetblankclassinfotextkey日志a)javaXX:MetaspaceSize128mXX:MaxMetaspaceSize128mXms1024mXmx1024mXmn256mXss256kXX:SurvivorRatio8XX:UseConcMarkSweepGCjarjar包路径nohupjavaXms128mXmx512mjargateway1。0。0。0。jarspring。profiles。activetestdevnull21pstree查看此进程下线程数量pstreep43576wcljstack查看此进程下线程的堆栈信息 线程ID、线程的状态(wait、sleep、running等状态)、是否持有锁信息。jstackl435761。txtjmapheap打印堆信息jmapheap2292 jmapdump堆内存jmapdump:live,formatb,file2。hprof21678 使用JDK的bin目录下的jvisualvm。exe打开: 查看GC类型jinfoflagUseParallelOldGC11836 jinfoflagUseSerialGC11836 内存不足,自动下线pstreep11836wcl topp11836H jmapheap11836 psauxgrep11836 jstack1183611836。txt 11836。txt线程统计:CompilerThread:12个(C14、C28)GCtaskthread:18个com。alibaba。nacos:29个Thread:5个lettuceeventExecutorLoop:24个HystrixTimer:24个hystrixfinanceservice:10个httpnio:23个logback:8个RxComputationScheduler:12个hystrixactivityservice:10个RibbonApacheHttpClientConfiguration:6个hystrixconsumerservice:10个hystrixbasisservice:7个ThreadPoolTaskScheduler:1个SimplePauseDetectorThread:6个 jmapdump:live,formatb,file11836。hprof11836 GCtaskthread:垃圾回收线程httpniothread:tomcat网络处理网络请求线程C2CompilerThread:JIT编译线程,动态编译Java运行代码,C2表示编译的是server端代码outOfMemoryError年老代内存不足。outOfMemoryError:PermGenSpace永久代内存不足。outOfMemoryError:GCoverheadlimitexceed垃圾回收时间占用系统运行时间的98或以上。 CPU高jstack3337433374。txttopHp33374 printfx33569 jstatjstatoption〔t〕〔hlines〕vmid〔interval〔count〕〕jstatoptions jstatclass:类加载的行为统计Loaded:加载class的数量Bytes:加载class的大小(单位KB)Unloaded:卸载class的数量Bytes:卸载class的大小(单位KB)Time:加载和卸载class所耗费的时间jstatcompiler:HotSptJIT编译器行为统计Compiled:编译成功数Failed:编译失败数Invalid:无效数量FailedType:最后一次编译失效类型FailedMethod:最后一次编译失效的方法jstatgc:垃圾回收堆的行为统计jstatgc2167850005 S0C:第一个幸存区的总容量(KB)S1C:第二个幸存区的总容量(KB)S0U:第一个幸存区已使用的容量(KB)S1U:第二个幸存区已使用的容量(KB)EC:伊甸区的总容量(KB)EU:伊甸区已使用容量(KB)OC:老年区的总容量(KB)MC:元空间的总容量(KB)MU:元空间已使用容量(KB)CCSC:压缩类空间总容量(KB)CCSU:压缩类空间已使用总容量(KB)YGC:新生代GC次数YGCT:新生代GC总耗费时间FGC:老年代GC次数FGCT:老年代GC总耗费时间GCT:GC总耗费时间jstatgccapacity:各个回收区内存情况jstatgccapacity21678 NGCMN:新生代占用的最小空间大小(KB)NGCMX:新生代占用的最大空间大小(KB)NGC:当前新生代空间大小(KB)S0C:第一幸存区当前空间大小(KB)S1C:第二幸存区当前空间大小(KB)EC:伊甸区当前空间大小(KB)OGCMN:老年区最小空间大小(KB)OGCMX:老年区最大空间大小(KB)OGC:老年区当前空间大小(KB)MCMN:元空间最小空间大小(KB)MCMX:元空间最大空间大小(KB)MC:元空间当前空间大小(KB)CCSMN:压缩类空间最小大小(KB)CCSMX:压缩类最大空间大小(KB)CCSC:压缩类当前空间大小(KB)YGC:新生代GC次数FGC:老年代GC次数jstatgccause:垃圾收集统计概述S0:第一幸存区已使用空间百分比。S1:第二幸存区已使用空间百分比E:伊甸区已使用空间百分比O:老年区已使用空间百分比M:元空间使用百分比CCS:压缩类空间使用百分比YGC:新生代GC次数FGC:老年代GC次数LGCC:最近一次GC原因GCC:当前GC原因jstatgcgcmetacapacity:元空间使用情况MCMN:元空间最小空间大小(KB)MCMX:元空间最大空间大小(KB)MC:元空间当前空间大小(KB)CCSMN:压缩类空间最小空间大小(KB)CCSMX:压缩类空间最大空间大小(KB)CCSC:压缩类空间当前空间大小(KB)YGC:新生代GC次数FGC:老年代GC次数FGCT:老年代GC耗费时间GCT:GC总耗费时间jstatgcnew:显示新生代统计信息S0C:第一幸存区总空间大小(KB)S1C:第二幸存区总空间大小(KB)S0U:第一幸存区已使用空间大小(KB)S1U:第二幸存区已使用空间大小(KB)TT:提升阈值(提升阈值)MTT:最大阈值DSS:survivor区域大小(KB)EC:伊甸区总空间大小(KB)EU:伊甸区已使用空间大小(KB)jstatgcnewcapacity:统计新生代及内存使用情况NGCMN:新生代最小空间大小(KB)NGCMX:新生代最大空间大小(KB)NGC:当前新生代空间大小(KB)S0CMX:第一幸存区最大空间大小(KB)S0C:第一幸存区当前空间大小(KB)S1CMX:第二幸存区最大空间大小(KB)S1C:第二幸存区当前空间大小(KB)ECMX:伊甸区最大空间大小(KB)EC:伊甸区当前空间大小(KB)YGC:新生代GC次数FGC:老年代GC次数jstatgcold:统计老年代和元空间使用情况jstatgcold21678 MC:元空间总大小(KB)MU:元空间已使用大小(KB)CCSC:压缩类空间总大小(KB)CCSU:压缩类空间已使用大小(KB)OC:老年区空间总大小(KB)OU:老年区已使用大小(KB)YGC:新生代GC次数FGC:老年代GC次数FGCT:老年代GC总耗时GCT:GC总耗时jstatgcoldcapacity:统计老年代内存使用情况OGCMN:老年区占用最小空间(KB)OGCMX:老年区占用最大空间(KB)OGC:当前老年区空间(KB)OC:当前老年区空间(KB)YGC:新生代GC次数FGC:老年代GC次数FGCT:老年代GC总耗时GCT:GC总耗时jstatgcutil:垃圾回收统计jstatgcutil229210005 S0:第一幸存区已使用空间百分比。S1:第二幸存区已使用空间百分比E:伊甸区已使用空间百分比O:老年区已使用空间百分比M:元空间使用百分比CCS:压缩类空间使用百分比YGC:新生代GC次数FGC:老年代GC次数GCT:GC总耗时jstatprintcompilation:Hotspot方法编译统计情况Compiled:已编译方法次数Size:最近一次方法编译大小Type:最近一次编译方法类型Method:最近一次编译方法 CMALL商城目录 如有帮助,烦请点赞、关注。有任何问题请私信、评论。