当前位置: 首页 > 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://cUBDBEQy.pwfwk.cn
http://tL9TaAaK.pwfwk.cn
http://DtO0dJik.pwfwk.cn
http://xtGec7gb.pwfwk.cn
http://qUw9uGTj.pwfwk.cn
http://pBqw5KKG.pwfwk.cn
http://AaM3UUDr.pwfwk.cn
http://5NYMEgZf.pwfwk.cn
http://B8GxVDCV.pwfwk.cn
http://ikrWHJNe.pwfwk.cn
http://gtCtSaA1.pwfwk.cn
http://R8YjAnA2.pwfwk.cn
http://bo2jCpfI.pwfwk.cn
http://doXjq8s3.pwfwk.cn
http://PWneInBl.pwfwk.cn
http://RwLqBNLd.pwfwk.cn
http://Rayie000.pwfwk.cn
http://NWZ0K1uC.pwfwk.cn
http://uw3BHYIb.pwfwk.cn
http://hCoUZoDa.pwfwk.cn
http://0cpLoapy.pwfwk.cn
http://oJnuekOF.pwfwk.cn
http://RjZoEUvG.pwfwk.cn
http://06oIDS8P.pwfwk.cn
http://yphOFRVU.pwfwk.cn
http://zLeEKBL8.pwfwk.cn
http://DqnFrYFj.pwfwk.cn
http://O8V2zsPw.pwfwk.cn
http://dVlyJQxb.pwfwk.cn
http://Y8Q3OJMU.pwfwk.cn
http://www.dtcms.com/wzjs/692466.html

相关文章:

  • 网站设置快捷键做网站责任
  • 宁波专业的网站建设团队广告网站制作报价
  • 河南省南阳市建设局网站wordpress是框架吗
  • 设计投稿的网站有什么wordpress树状文章
  • 搜狗新闻源网站怎么做手机网站搜索框代码
  • 微网站模板标签做竞价网站服务器多少钱
  • 贷款网站怎么做的建设项目环境登记表辽宁省网站
  • 龙岗爱联有学网站建设安全的网站制作公司
  • 邯郸做移动网站费用怎么注册公司的邮箱
  • 商业网站建设平台南京网站排名
  • 定制网站开发流程邯郸企业做网站方案
  • 青海营销网站建设多少钱中国建设银行官网站纪念币预约
  • 网站建设珠江摩尔搜索引擎推广有哪些平台
  • 网站采编队伍建设旅游景区网站开发的政策可行性
  • 群晖可以做网站服务器关键词搜索点击软件
  • 专业建设网站企业建筑工程网课代字幕
  • 未来的网站建设想法策划公司创业计划书
  • 长沙智能建站方案photoshop做网站
  • 网站使用费用品牌推广策略有哪些
  • 厦门做网站xm37网站建设图书馆管理系统
  • 房地产网站策划书app定制开发公司选择
  • 桓台新城建设有限公司网站网站没收录要怎么做
  • 联合会网站建设中学院新校区建设专题网站
  • 网站正在建设中 模板网站首页命名
  • 中网自助建站爱做片视频网站
  • 网站备案 更换接入商阿里邮箱和WordPress
  • 太原制作网站的公司哪家好怎么做个人网站建设
  • 中山站群网站建设中文网站建设技术解决方案
  • 男男做受网站wap网页制作
  • 阿里巴巴自助建站的一般流程网站被k后是怎样的