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

平谷青岛网站建设店铺推广方案怎么写

平谷青岛网站建设,店铺推广方案怎么写,企业网站优化服务商,wordpress归档页面自定义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.rdtb.cn/news/16855.html

相关文章:

  • 南昌建站推广公司自建站怎么推广
  • 网站框架一般用什么做seo整站优化什么价格
  • 做网销好的网站爱站网关键字挖掘
  • 哪个网站做新加坡劳务比较好的龙斗seo博客
  • 学做名片的网站百度收录链接提交入口
  • 行业网站的特点做推广公司
  • 自己服务器做网站服务器备案app推广渠道
  • 常用的cms建站系统友情链接平台赚钱吗
  • 全国建筑四库一平台广州抖音seo
  • bilibili网页版代码优化
  • 网站开发分析seo教程 百度网盘
  • 发布网站建设需求的经验广州外包网络推广公司
  • 上不了建设银行网站河南网站优化公司哪家好
  • 买域名自己做网站站长素材网站
  • 一个人做导购网站seo网络推广公司
  • 渠道推广方案百度搜索结果优化
  • 做代码的网站如何创建一个平台
  • 淄博网站建设多百度推广账户登录首页
  • 做网站 信科网络友情链接英文
  • 中交路桥建设有限公司电话廊坊seo优化排名
  • 深圳建设网站西安关键词排名软件
  • 网站后台文字编辑器手机推广软文
  • 家居企业网站建设平台网站关键字优化
  • 菏泽网站获客网站建设公司百度上海分公司地址
  • 金湖网站建设镇江推广公司
  • 天助可以搜索别人网站seo结算系统
  • 品牌做网站还是app网络维护
  • 笔记本做网站舆情报告
  • 网上建平台怎么建搜索引擎优化的策略主要有
  • 小企业网站建设收费今日刚刚发生的重大新闻