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

网站范例信息化网站建设有什么用

网站范例,信息化网站建设有什么用,网页制作基础教程复兴,电子商务网站建设模板下载Java基础 - JVM之Dump文件详解 文章目录 Java基础 - JVM之Dump文件详解一、什么是Dump三、为什么需要Dump分析思路 四、Dump记录哪些内容4.1 Java dump 文件的格式和内容段格式行格式 4.2 常用分类heap dump和thread dumpheap dumpthread dump 五、如何生产Dump文件5.1 获取hea…

Java基础 - JVM之Dump文件详解

文章目录

  • Java基础 - JVM之Dump文件详解
    • 一、什么是Dump
    • 三、为什么需要Dump
      • 分析思路
    • 四、Dump记录哪些内容
      • 4.1 Java dump 文件的格式和内容
        • 段格式
        • 行格式
      • 4.2 常用分类heap dump和thread dump
        • heap dump
        • thread dump
    • 五、如何生产Dump文件
        • 5.1 获取heap dump文件
        • 5.2 获取heap dump文件
        • 5.3 如果我们只需要将dump中存活的对象导出,那么可以使用:live参数
        • 5.4 自动生成dump文件
    • 六、Dump文件查看工具
      • JDK命令
        • jconsole 监控界面
      • jvisualvm
        • 阿里检测命令工具Arthas
        • Eclipse内存分析工具MAT(MemoryAnalyzerTool)
        • Jprofiler
    • 七、总结

学习Jvm调优,我们会接触到Dump文件。什么是Dump文件、Dump文件是如何得到的。当程序崩溃时,如何从Dump文件还原崩溃时的信息。本文讲重点讲解。

一、什么是Dump

Thread Dump是非常有用的诊断Java应用问题的工具。每一个Java虚拟机都有及时生成所有线程在某一个点状态的thread-dump的能力,虽然各个Java虚拟机打印的thread dump稍有不同,但是大部分提供了当前活动线程的快照及JVM中所有Java线程的堆栈跟踪信息,堆栈信息一般包含完整的类名及所执行的方法,如果可能还有源码的行数。

三、为什么需要Dump

服务器CPU,内存占用空间飙升,或者GC频繁,首先需要排除的就是内存泄露,即内存中没有的对象的空间没有被及时回收导致的。而检测内存泄露就需要看哪种类在内存占了较多份额,从而定位到代码,然后修改。

分析思路

  1. CPU、MEM飙升,确定是否WEB服务的问题并记录PID
  2. 查看GC情况,如果每次GC效果不明显说明内存泄露
  3. 导出Dump并分析,定位占用top n的类
  4. 分析并找到 哪里创建的类占用了大量

四、Dump记录哪些内容

4.1 Java dump 文件的格式和内容

Java dump通常的文本格式(.txt), 因此可用通过一般的文本编辑器进行阅读,阅读时需要注意段与行的格式:

五、如何生产Dump文件

使用的JDK工具在JDK_HOME/bin/目录下,使用到jmap和jstack这两个命令。

5.1 获取heap dump文件

windows下切换到JDK_HOME/bin/,执行以下命令:jmap -dump:format=b,file=heap.hprof 2576

linux下切换到JDK_HOME/bin/,执行以下命令:./jmap -dump:format=b,file=heap.hprof 2576

这样就会在当前目录下生成heap.hprof文件,这就是heap dump文件。

5.2 获取heap dump文件

windows下执行:jstack 2576 > thread.txt

inux下执行:./jstack 2576 > thread.txt

windows/linux则会将命令执行结果转储到thread.txt,这就是thread dump文件。有了dump文件后,我们就能借助性能分析工具获取dump文件中的信息。

5.3 如果我们只需要将dump中存活的对象导出,那么可以使用:live参数

jmap -dump:live,format=b,file=heapLive.hprof 2576

5.4 自动生成dump文件

  • -XX:+HeapDumpOnOutOfMemoryError

    当OutOfMemoryError发生时自动生成 Heap Dump 文件。这是一个非常有用的参数,因为当你需要分析Java内存使用情况时,往往是在OOM(OutOfMemoryError)发生时。

  • -XX:+HeapDumpBeforeFullGC

    当 JVM 执行 FullGC 前执行 dump

  • -XX:+HeapDumpAfterFullGC

    当 JVM 执行 FullGC 后执行 dump。

  • -XX:+HeapDumpOnCtrlBreak

    交互式获取dump。在控制台按下快捷键Ctrl + Break时,JVM就会转存一下堆快照。

  • -XX:HeapDumpPath=d:\dump.hprof

    指定 dump 文件存储路径。注意:JVM 生成 Heap Dump 的时候,虚拟机是暂停一切服务的。如果是线上系统执行 Heap Dump 时需要注意。

六、Dump文件查看工具

定位排查问题时最为常⽤命令包括:jps(进程)、jmap(内存)、jstack(线程)、jinfo(参数)等。

  • jps:查询当前机器所有Java进程信息
  • jmap:输出某个 Java 进程内存情况
  • jstack:打印某个 Java 线程的线程栈信息
  • jinfo:用于查看jvm

JDK命令

七、总结

如果某种类型的对象太多,那么有可能是引用它的那个类的对象太多;基本上一些简单页面的查询,结合原代码,就可以初步定位内存泄漏的地方;综上,dump文件结构还是比较简单的,这对于分析线程的执行情况非常有用,也是每一个Java程序员必须掌握的高级技能之一;

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

相关文章:

  • 最火的深圳网站建设网站管理一般要做什么
  • 新手建站教程报价单做网站做app什么专业
  • 北京网站设计制作哪家好重庆建工集团
  • 1g内存做网站wordpress小工具宽度
  • 公司建设网站需要什么中国空间站名字
  • 网站制作服务平台外贸网站营销推广
  • 网站开发调查问卷题网站地图生成器
  • 物业网站开发宁波网站建设佳选蓉胜网络好
  • 企业手机网站开发cms内容管理
  • 专业的图纸设计网站如何做网站首页收录
  • 大连 网站制作 外贸厦门网站建设工程
  • 做网站北京公司企业网站建设方式
  • 建行网站用户名网站建设培训班
  • 个人官方网站怎么建设烟台公司做网站
  • 衣柜东莞网站建设技术支持移动开发是做什么的
  • 攸县网站制作公司厦门市翔安区建设局网站
  • 南阳卧龙区高端网站建设价格婚纱摄影网
  • 嘉兴网站推广价格推广计划书范文
  • 如何做视频网站流程图织梦手机网站有广告位
  • 建设互联网站机房需要哪些设备一流本科专业建设网站
  • 有经验的合肥网站建设做阿里巴巴网站口碑
  • 黄页网站软件应用大全网站正能量免费推广软件
  • 找建设项目的网站360提交网站
  • 电子商务网站开发实训总结庆网站建设
  • 网站服务器怎么启动北京有哪些炫酷的网站页面
  • 芯港小镇建设管理中心网站wordpress主题自适应
  • php asp网站开发html网站设计模板下载
  • 网站被黑是怎么回事图怪兽在线制作图片
  • 建设银行上海黄浦支行网站网站后台别人制作
  • 杭州开发区网站建设wordpress文章内页的图片地址修改