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

重庆平台网站建设工如何网站平台建设好

重庆平台网站建设工,如何网站平台建设好,兰州网站建设加q.479185700,滨州网站seoJava的dump文件分析及JProfiler使用 1 dump文件介绍 从软件开发的角度上#xff0c;dump文件就是当程序产生异常时#xff0c;用来记录当时的程序状态信息#xff08;例如堆栈的状态#xff09;,用于程序开发定位问题。 idea配置发生OOM的时候指定路径生成dump文件 # 指定…Java的dump文件分析及JProfiler使用 1 dump文件介绍 从软件开发的角度上dump文件就是当程序产生异常时用来记录当时的程序状态信息例如堆栈的状态,用于程序开发定位问题。 idea配置发生OOM的时候指定路径生成dump文件 # 指定发生OOM异常的时候在d盘下生成对应的dump文件 -XX:HeapDumpOnOutOfMemoryError -XX:HeapDumpPathd:\2 JProfiler介绍 2.1 下载 JProfiler下载 链接https://pan.baidu.com/s/1WXCc4FMOC3QQtjkhY4Qeow 提取码5xrm 版本JProfiler 12.0.4 2.2 与idea集成 本地windows下载并安装好JProfiler idea安装JProfiler插件 指定本地windows的JProfiler路径[settings - tools] 4. 点击图标启动JProfiler就默认监控到了指定Java程序 2.3 基本使用 ①JProfiler基本参数 ②测试分析dump文件 模拟OOM public class JProfilerTest {public static void main(String[] args) throws InterruptedException {Listbyte[] list new ArrayList();while (true) {byte[] bytes new byte[1024 * 1024 * 50];list.add(bytes);TimeUnit.SECONDS.sleep(1);}} }程序添加VM Options # 监控OOM发生OOM之后指定dump文件生成到d:\ -XX:HeapDumpOnOutOfMemoryError -XX:HeapDumpPathd:\JProfiler方式启动程序观察控制台打印 程序运行一段时间之后发生OOM异常 5. 查看dump文件用JProfiler打开 6. 分析dump文件 查看最大对象内部结构 可以发现是改list中含有了太多的byte[]数组 ps:其他查看方法类似 3 常见JVM问题 3.1 OOM ①堆溢出 原因 1. 无法在Java堆中分配对象 2. 应用程序保存了无法被GC回收的对象 3. 程序过度使用finalizer排查思路 查看关键报错信息使用内存映像分析工具MAT或JProfiler分析dump文件分析是内存泄漏还是内存溢出如果是内存泄漏通过工具查看泄漏对象到GC Roots引用链修复内存泄漏如果不是检查代码是否有死循环递归等再考虑用-Xmx增加堆大小 demo代码JVM配置参数 -Xms20m JVM初始分配的内存20m-Xmx20m JVM最大可用内存为20m-XX:HeapDumpOnOutOfMemoryError 当JVM发生OOM时自动生成DUMP文件-XX:HeapDumpPath/Users/mytest/Desktop/dump/ 生成DUMP文件的路径 ②栈溢出 栈:虚拟机栈和本地方法栈关于栈Java虚拟机规范中描述了两种异常 StackOverflowError:线程请求的栈深度大于虚拟机所允许的深度OOM:如果虚拟机栈可以动态扩展当扩展时无法申请到足够的内存时会抛出 原因 1. 单个线程下栈帧太大或虚拟机栈容量太小内存无法分配 2. 不断建立线程排查思路 查看关键报错信息确定是StackOverflow还是OOM如果是StackOverflow检查代码是否存在递归如果是OOM检查是否有死循环创建线程或调用第三方接口创建线程通过-Xss降低每个线程栈大小 ③方法区溢出 方法区又叫永久代JDK8之后元空间替换了永久代用于存放Class的相关信息如类名、访问修饰符、常量池、字段描述、方法描述等。运行时产生大量的类会填满方法区造成溢出。 溢出原因 1. 使用CGLib生成大量代理类 2. 在Jdk7之前频繁错误的使用String.intern方法 3. 大量jsp和动态产生jsp 4. 应用长时间运行没有重启排查思路 检查是否永久代空间设置的过小 -XX:MetaspaceSize10M -XX:MaxMetaspaceSize10M 是否频繁错误使用String.intern是否与jsp有关是否使用CGLib生成大量代理类重启JVM ④直接内存溢出 直接内存不是虚拟机运行时数据区的一部分也不是Java虚拟机规范中定义的内存区域。但是这部分也被频繁的使用也可能导致OOM。 原因: 1. 本机直接内存不受到Java堆大小限制但是受到本机总内存大小限制 2. 直接内存由-XX:MaxDirectMemorySize指定如果不指定默认与Java堆最大值一样-Xmx 3. NIO程序中使用ByteBuffer.allocateDirect(capability)分配的是直接内存可能导致直接内存溢出排查思路 检查代码是否恰当检查JVM参数-Xmx(java堆最大值)-XX:MaxDirectMemorySize是否合理 参考https://zhuanlan.zhihu.com/p/95150243
http://www.dnsts.com.cn/news/148356.html

相关文章:

  • 工信部外国网站备案怎么做网站优化 site
  • 手机怎么做网站广州游戏软件开发公司有哪些
  • 建站工具评测 discuz网站策划素材
  • 唐山自助网站建设系统英文网站推广公司
  • 不良网站进入窗口软件下载7青岛哪家做网站的公司
  • 济南网络优化网站做空气开关那个网站推广比较好
  • 青海 网站开发 图灵东莞市小程序定制开发丨网站建设
  • dreamviewer做网站招聘网站怎么做市场
  • 网站建设7个基wordpress建站主题
  • 智能网站建设哪家好推广引流客源
  • 成都网站建设优化推企业推广文案
  • 网站开发费用摊销年限dreamviewer网页设计
  • 做家常便饭网站建一个公司网站花多少钱
  • 网站制作完成后东乡哪里有做网站
  • 做爰全过程免费的视频99网站高端网站制作费用
  • 用模板做企业网站绍兴公司企业名单
  • 企业百度网站怎么做专业的移动网站建设公司排名
  • 广州做企业网站哪家好自设计网站
  • 商丘柘城做网站门户网站平台建设方案
  • php可以做网站app吗青海省网站建设公司哪家好
  • 编辑网站用什么软件音乐网站源码带手机版
  • 网站建设的运营计划书电脑游戏排行榜前十名
  • 如何给服务器建设网站广告公司vi设计
  • 昆山网站建设费用开饰品店网站建设预算
  • 建设网银登录官方网站东营百姓网免费发布信息网
  • 烟台定制网站建设报价做爰片的网站
  • 网站备案上传照片几寸实验室网站建设意义
  • 商务网站页面黄冈黄页88网黄冈房产估价
  • 西安企业建站费用做网站dreamwa
  • 网站开发的要注意基本原则wordpress国外图床