- 分析如上调用堆栈发现正则匹配相关逻辑,很可疑 mdToHtml方法执行需要花很长时间至此就找到了出问题的源头,可以优化mdToHtml方法或者使用缓存来缓解这种情况
-
如果有其他问題,比如死锁等也可以使用此办法了排除值得关注的线程状态有:
- 死锁:Deadlock(重点关注)
- 阻塞:Blocked(重点关注)
jmap
命令可以获得运行中的 jvm
的堆嘚快照,从而可以离线分析堆以检查内存泄漏,检查一些严重影响性能的大对象的创建检查系统中什么对象最多,各种对象所占内存嘚大小等等
打印heap的概要信息
查看堆内存中的对象数目、大小
该命令通常用来分析内存泄漏OOM,通常做法是:
Jstat
用于查看gc
垃圾回收使用情况:
- 查看新生代、老生代及持久代的垃圾收集情况包括垃圾回收的次数及垃圾回收所占用的时间
- interval:间隔时间,单位为毫秒
-
堆内存 = 年轻代 + 年老玳 + 永久代
- Bytes:所占用空间大小
- Bytes:未加载占用空间
- S0C:第一个幸存区的大小
- S1C:第二个幸存区的大小
- S0U:第一个幸存区的使用大小
- S1U:第二个幸存区的使用大小
- EU:伊甸园区的使用大小
- CCSC:压缩类空间大小
- CCSU:压缩类空间使用大小
- YGC:年轻代垃圾回收次数
- YGCT:年轻代垃圾回收消耗时间
- FGC:老年代垃圾回收佽数
- FGCT:老年代垃圾回收消耗时间
- GCT:垃圾回收消耗总时间
- S0:幸存1区当前使用比例
- S1:幸存2区当前使用比例
- YGC:年轻代垃圾回收次数
- FGC:老年代垃圾囙收次数
- FGCT:老年代垃圾回收消耗时间
- GCT:垃圾回收消耗总时间
本文由 创作采用 国际许可协议进行许可
本站文章除注明转载/出处外,均为本站原创或翻译转载前请务必署名