排查线上环境 OOM 问题
发布时间:2022-12-21 00:20:06 190
相关标签: # java# java# eclipse# 信息# 工具
概述
有时Java服务端上线后,运行一段时间后就会出现OOM 问题,这样问题是非常严重的。
那要怎样排查?怎样解决?
工具安装:
为什么会要安装工具?这是因为我们现在按照的open jdk 是默认没有安装jmap,jstatck,需要自行安装。
以 Centos7 为例 介绍安装过程
先使用 java -version 版本 号
查询 Jmap 与java 当前版本匹配的版本
找到相应的版本安装
到此这样工具就完成了。
回到正轨,问题出现怎样排查问题
查看服务的进程是否存在
查看服务的日志
官方给出的解释如下:
大概意思就是说,JVM花费了98%的时间进行垃圾回收,而只得到2%可用的内存,频繁的进行内存回收(最起码已经进行了5次连续的垃圾回收),JVM就会曝出ava.lang.OutOfMemoryError: GC overhead limit exceeded错误。
查看堆内存占用概况
查看堆中对象的统计信息
查看GC统计信息
生产对堆快照Heap dump
分析生成的堆快照
使用 Eclipse Memory Analyzer 工具。下载地址:www.eclipse.org/mat/download
这样就能看到那个对象占用内存情况,这样就可以根据代码查看了。
文章来源: https://blog.51cto.com/u_15461374/5938021
特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报