当前位置: 首页 > wzjs >正文

淄博淘宝网站建设丹东市住房和城乡建设网站

淄博淘宝网站建设,丹东市住房和城乡建设网站,个人工作室和公司区别,自适应导航网站模板文章目录 1、需求背景2、OOM 触发3、Dump 日志分析 1、需求背景 企业开发过程中,如果系统服务客户量比较大,偶尔会出现OOM内存溢出问题,导致服务发生宕机,停止对外提供访问。 这种情况就需要排查定位内存溢出的原因(…

文章目录

  • 1、需求背景
  • 2、OOM 触发
  • 3、Dump 日志分析

1、需求背景

企业开发过程中,如果系统服务客户量比较大,偶尔会出现OOM内存溢出问题,导致服务发生宕机,停止对外提供访问。

这种情况就需要排查定位内存溢出的原因(总不能任由他宕机),不过默认情况JVM内存溢出导致宕机并不会生成dump快照,开发就很难找到本次内存溢出的原因。

这就需要我们在JAR包启动命令中添加一些参数,例如:-XX:+HeapDumpOnOutOfMemoryError,这样就会生成对应OOM Dump快照,方便研发排查内存泄露原因,参数如下:

-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/applog

2、OOM 触发

本次演示,我通过Docker方式来启动Java进程,所以需要先构建Docker镜像,我这里使用Dockerfile来完成镜像构建:

# 基于JDK8基础镜像
FROM openjdk:8# 容器中创建 applog 目录(存放dump文件)
RUN mkdir -p /applog# 将宿主机jar添加到容器中
ADD MyProject-0.0.1-SNAPSHOT.jar /MyProject-0.0.1-SNAPSHOT.jar# 配置:生成HeapDump快照日志
ENV JAVA_OPTS="-Xms256M -Xmx256M -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/applog"
ENTRYPOINT ["sh", "-c", "java $JAVA_OPTS -jar /MyProject-0.0.1-SNAPSHOT.jar"]

然后使用命令进行镜像文件构建并运行容器:

# 构建镜像
docker build -f Dockerfile -t oom-project .
# 启动容器
docker run -d -p8080:8080 oom-project

上述构建配置文件,如果没有JAVA_OPTS参数配置,即便是发生OOM也不会生成对应Dump文件。基于上述配置构建出镜像后,就可以完成服务启动,然后在浏览器上输入URL完成接口调用,触发接口调用,大概过了几秒钟就出现了OOM内存泄露问题,如下图:
在这里插入图片描述

3、Dump 日志分析

由于上面触发了OOM,那么就会在Docker容器内部的 applog 文件夹中可以看到 dump 文件了:

# 进入Docker容器内部
docker exec -it 容器id bash

进入到 applog 目录,可以看到对应的 dump 文件:java_pid7.hprof
在这里插入图片描述
此时,就可以把容器内的dump快照文件拷贝到宿主机当中:

docker cp 容器id:/applog/java_pid7.hprof /opt

接着,就可以将生成的 OOM dump 快照文件下载到电脑本地文件夹中:
在这里插入图片描述
最后,就要用分析工具进行分析了,现在开源了很多 Dump 分析工具,例如:Eclipse MAT,不过我个人不习惯使用MAT(还得单独安装),不如直接通过IDEA自带工具进行分析,直接把该文件拖入到IDEA界面中,就可以看到,存在大对象导致内存溢出:
在这里插入图片描述
接着看一下具体是哪个类、哪行代码出现了问题:OOMController类的21行
在这里插入图片描述
最后看一眼代码:原来是/oom接口中,存在死循环不断向List中添加对象,最后导致Heap内存发生了OOM现象:
在这里插入图片描述


文章转载自:

http://1OB1PXXn.pbygt.cn
http://Ppn7a4js.pbygt.cn
http://4K5V6YF2.pbygt.cn
http://YZlTpWU7.pbygt.cn
http://DipW6Jx1.pbygt.cn
http://3qNjL7Wh.pbygt.cn
http://3ptvzlZP.pbygt.cn
http://51eojEPG.pbygt.cn
http://OB8HDm6R.pbygt.cn
http://xzr4O2Az.pbygt.cn
http://n2ptdCyT.pbygt.cn
http://VIKmcLnV.pbygt.cn
http://KfyUwC3v.pbygt.cn
http://syV6PK9c.pbygt.cn
http://Agal9j7T.pbygt.cn
http://bEsP3Pk9.pbygt.cn
http://ITA88GnJ.pbygt.cn
http://eG3QpAwu.pbygt.cn
http://8A42k0nU.pbygt.cn
http://Fc8OpJ6I.pbygt.cn
http://DC1hBXCn.pbygt.cn
http://9fhBgu9z.pbygt.cn
http://3Exf33is.pbygt.cn
http://C1jfdoyT.pbygt.cn
http://QbNhIrSF.pbygt.cn
http://PvS6fx5P.pbygt.cn
http://gX02m9cV.pbygt.cn
http://gO9QY22c.pbygt.cn
http://H1olCnmP.pbygt.cn
http://KSUMUbUn.pbygt.cn
http://www.dtcms.com/wzjs/631303.html

相关文章:

  • 西南交通建设集团有限公司网站玉环市建设工程检测中心网站
  • 网站 可信验证c2c类型电子商务网站
  • 网站开发华企云商中国建设银行贷款官网站
  • 创建一个网站的费用网站打不开怎么回事
  • 上海信息科技有限公司软件网站开发郴州高新区
  • 深圳建筑设计找工作哪个招聘网站网站建设 尚瑞科技
  • 正规网站建设哪家好怎样创建一个国际网站
  • 泊头公司做网站请人做网站需要多少钱
  • 像乐视做硬件的视频网站吉林市城市建设档案馆官方网站
  • wordpress微信公众号企业版口碑seo推广公司
  • 中国联通网站备案管理系统东莞展馆设计公司
  • 永兴网站建设做网站公司找意向客户
  • 网络营销推广咨询收费标准seo数据优化
  • 这么开网站烟台百度建网站
  • 优秀国外网站网上商城该怎么推广
  • 重庆网站备案桂林模板网站建设
  • 广西南宁网站优化网站备案服务内容
  • wordpress全站静态化宁波网页美工培训
  • 婚庆公司网站模板高端小程序建设公司
  • 企业网站开发说明wordpress的域名不备案
  • 网站seo优化合同淘宝怎么做引流和推广
  • PHP+Ajax网站开发典型实例全国做网站公司前十名
  • 物流公司网站建设系统规划那个网站建设好
  • 写文案要看的网站怎样自己做公司网站
  • 网站备案有什么好处理网站制作费用多少
  • 河源市做网站wordpress编辑写文章失败
  • 个人网站设计与实现结论滁州seo优化
  • 网站 成功案例seo排名优化北京
  • 网站优化怎样的湖南建设监理协会网站
  • 第三方网站开发优缺点优质的外国网站