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

做视频的网站带模板下载网站推广自己可以做吗

做视频的网站带模板下载,网站推广自己可以做吗,黑群晖做网站,优秀企业网站建设堆内存调优 当遇到OOM时,可以进行调参 1、尝试扩大堆内存看结果 2、分析内存,看哪个地方出现了问题(专业工具) 调整初始分配内存为1024M,调整最大分配内存为1024M,打印GC细节(如何添加JVM操…

堆内存调优

当遇到OOM时,可以进行调参

1、尝试扩大堆内存看结果

2、分析内存,看哪个地方出现了问题(专业工具)

调整初始分配内存为1024M,调整最大分配内存为1024M,打印GC细节(如何添加JVM操作往下看)

-Xms1024m -Xmx1024m -XX:+PrintFGCDetails

在一个项目中,突然出现了OOM故障,那么该如何排除,研究为什么出错

  • 能够看到代码第几行出错:内存快照分析工具,MAT,Jprofiler
  • Dubug,一行行分析代码

MAT,Jprofiler作用:

  • 分析Dump内存文件,快速定位内存泄露;
  • 获得堆中的数据
  • 获得大的对象

下面是一个使用Jprofile查OOM来源的示例

(已经下载好了Jprofile以及Idea插件)

首先写一个必定会OOM的代码:

import java.util.ArrayList;public class Demo {byte[] array = new byte[1*1024*1024];//1mpublic static void main(String[] args) {ArrayList<Demo> list = new ArrayList<>();int count = 0;try{while(true){list.add(new Demo());count = count + 1;}}catch (Exception e){}}
}

该问题会虽然用try-catch尝试捕获异常,但问题是,OOM是Error,而非Exception,因此无法排查错误。

首先:

在这里插入图片描述

我们需要添加一些JVM的操作,以至于我们可以在程序运行后在终端查询到JVM的反馈

1、添加JVM操作

在这里插入图片描述

2、添加JVM操作栏(该IDE版本为2023版,因此许多UI做出了修改,与狂神说的UI不同)

在这里插入图片描述

3、在VM option内写下: -Xms1m -Xmx8m -XX:+HeapDumpOnOutOfMemoryError意思为:限制初始化堆内存大小为1M,最大堆内存为8M,Dump出OOM

在这里插入图片描述

接下来运行程序,终端会给出JVM信息,下列信息中,第一行表示出现OOM,位置在HeapSpace,即堆空间。第二行表示已经将堆dump出一个.hprof文件,名字为java_pid44260,你可以在文件夹中找到它,也可以直接在project中找到它

在这里插入图片描述

可以发现,除了java_pin44260.hprof文件外,还dump出了一个文件夹,这个文件夹中包含了大量信息,十分占用空间,如果排查完错误,记得删除。

在这里插入图片描述

点开java_pin44260.hprof,如果安装好Jprofile,则会直接跳转到Jprofile,这里可以看到各类占用的空间大小

在这里插入图片描述

跳到Biggest Objects,可以看到,大部分的内存都是由ArrayList构成的,且可以看到它的类型为byte[],现在我们里真相很近了!

在这里插入图片描述

点击Thread Dump,查看线程Dump,因为示例中并没有开多线程,因此问题大概率是出现在main线程中,天使线程大概率是不会出现问题的,所以直接查main,我们可以发现,main线程中发现了OOM,且给出了具体位置具体行数,

在这里插入图片描述

点进去,即可直接跳转到相应位置,我们发现,它直接跳到Demo.java中,光标停留在main方法上,说明问题在此,并且Jprofile给出了具体行数,17行,因此我们就可以锁定问题所在了,就在这!

import java.util.ArrayList;// Dump文件
public class Demo {// -Xms1m -Xmx8m -XX:+HeapDumpOnOutOfMemoryErrorbyte[] array = new byte[1*1024*1024];//1mpublic static void main(String[] args) {ArrayList<Demo> list = new ArrayList<>();int count = 0;try{while(true){
//------------------------------------------------------------------list.add(new Demo());//问题所在!!!!!!!!!!!
//------------------------------------------------------------------count = count + 1;}}catch (Exception e){}}
}

http://www.yayakq.cn/news/533207/

相关文章:

  • 浙江建筑信息网站广告公司排行榜
  • 有经验的网站建设本地镇江网站建设
  • 青岛网站优化多少钱wordpress仪表盘密码
  • 淘宝客网站域名谁会做企业设计公司
  • 济南做网站的好公司酷我音乐网站架构
  • 网站域名跳转怎么弄广州深圳
  • 威宁住房和城乡建设局网站网站首页上的动画是咋做的
  • 查不到网站备案dedecms对比wordpress
  • 网站浮窗代码运城网站建设运城天气
  • 聊城高唐网站建设公司WordPress dos漏洞
  • 南京 网站建设模板价格毕设做音乐网站
  • 寿光网站优化物业管理系统功能模块
  • 网站公司倒闭wordpress会员打赏插件
  • 网站建设注册名有规范吗广告公司广告语简洁
  • php网站虚拟机价格徐州提供网站建设报价表
  • 坪山网站建设效果什么网站做任务的q币
  • 烟台哪个公司做网站好能让网络非常流畅的软件
  • 更换网站ico特色直播
  • 地产广告设计网站怎样建立和设计公司网站
  • 网站设计要素 优帮云学网站建设多久能学会
  • 网站维护需要会什么南城网站优化公司
  • 学做网站什么语言合适大数据营销是什么
  • 林业网站模板百度竞价推广是什么意思
  • 架设网站服务器北京公司网站建站
  • 课题网站建设培训简讯网站建设技术开发
  • 有哪些网站可以做海报设计知乎wordpress 媒体管理
  • 深圳商业网站建设去哪家学做美食网站哪个好
  • 帮别人做网站后期维护海外公司推广
  • 福州网站制作建设网络自媒体培训
  • 清河做网站哪里便宜制作网站的步骤是什么