首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏盛开在夏天的太阳

    heapdump

    loggers 显示和修改配置的loggers,比较简单,亲自调用看下接口信息即可 false heapdump dump 包含应用的 JVM 堆信息 true ID 描述 敏感(Sensitive) heapdump 第一步:下载heapdum文件以及配置根路劲操作 接口样例:http://localhost:8060/heapdump 当然,也可以进行设置监控服务访问根路径(如果不设置默认直接 则我们访问所有的监控服务接口路劲为: http://localhost:8060/actuator/heapdump 开发环境可以直接直接在浏览器地址栏中粘贴上面url信息进行下载heapdump文件即可 下载地址: curl -o xxx.zip http://${host}:${port}/heapdump ### xxx.zip后缀可以任意指定常规的压缩包后缀即可,如:tar.gz/zip/gzip

    1.6K20编辑于 2022-05-09
  • 来自专栏全栈程序员必看

    如何分析heapdump文件_heapdump怎么看

    jhat 是Java堆分析工具(Java heap Analyzes Tool). 在JDK6u7之后成为标配. 使用该命令需要有一定的Java开发经验,官方不对此工具提供技术支持和客户服务。

    3.9K20编辑于 2022-11-15
  • 来自专栏架构驿站

    Java HeapDump 生成解析

    超类及静态字段 3、垃圾回收的根对象 :根对象是指那些可以直接被虚拟机触及的对象 4、线程栈及局部变量 :转储时刻的线程调用栈信息和栈帧中的局部变量信息 其实,针对HeapDump [administrator@JavaLangOutOfMemory ~ ] % jcmd <pid> GC.heap_dump /data/logs/heapdump.bin 4、JVisualVM

    2.4K30编辑于 2021-12-09
  • 来自专栏全栈程序员必看

    linux heapdump_oracle dump函数

    //http://androidxref.com/7.1.1_r6/xref/external/avahi/avahi-compat-howl/text-test.c#33

    1.4K30编辑于 2022-09-28
  • 来自专栏小怪聊职场

    JVM第二篇:基于Actuator生成HeapDump及基于MAT分析HeapDump

    一、使用Spring Boot Actuator生成HeapDump文件 参考我前面的文章Java|使用Spring Boot Actuator监控应用 访问http://localhost:1001 /monitor/actuator/heapdump即可生成heapdump文件。

    4.6K40发布于 2018-12-27
  • 来自专栏Bypass

    获取 Spring heapdump中的密码明文

    在攻防场景里经常会遇到Actuator配置不当的情况,攻击者可以直接下载heapdump堆转储文件,然后通过一些工具来分析heapdump文件,从而可进一步获取敏感信息。 (1)通过jvisualvm加载heapdump文件 (2)切换到OQL控制台标签,Springboot heapdump端点存在版本差异,构建OQL语句进行关键字查询,从而获取明文密码。 (1)使用jhat命令分析heapdump文件,启动一个端口为7000的http服务。备注:jhat 后面可配置jvm参数,避免heapdump文件占用过大内存。 03、heapdump_tool 敏感信息查询工具 本质上是基于jhat,通过通过jhat解析heapdump文件,从而实现heapdump敏感信息搜索。 下载地址: https://toolaffix.oss-cn-beijing.aliyuncs.com/heapdump_tool.jar 利用自动化工具,快速搜索查找密码明文,AK-SK等。

    2.3K30编辑于 2022-12-01
  • 来自专栏运维开发故事

    使用DaemonSet实现heapdump文件自动化管理

    一、引言 1、为什么要获取heapdump文件 heapdump文件是Java应用遭遇OOM后的诊断报告,记录了某一时刻 JVM 堆中对象的详细使用情况,是 JVM 堆内存的一个快照。 结合实际情况,准备使用DaemonSet部署一个heapdump-watcher应用,通过它来监听heapdump.prof文件实现自动化管理。 Tips:该方法仅适合将heapdump.prof持久化到K8s节点的场景。但是具有一定的参考意义。 3、实施前提 该方案需要以下前提: heapdump.prof文件持久化到K8s节点。 >heapdump.prof。 为了节约节点磁盘空间,当heapdump.prof文件上传完成后清理本地文件。 为了让相关开发人员了解到新的heapdump.prof文件已经生成,我们通过企业微信机器人通知到对应的开发群。

    50610编辑于 2025-02-07
  • 来自专栏全栈程序员必看

    heapdump.phd分析工具_dump文件分析工具

    heapdump分析工具是一款强大的数据分析工具,它可以用图表的形式来展现相应的分析结果,在使用heapdump分析工具之前请先安装JDK1.6。 in thread “main” java.lang.NoClassDefFoundError: java/util/regex/PatternSyntaxException 2.运行需要足够大的内存 Heapdump 如果在解析heapdump文件时出现java.lang.OutOfMemoryError的报错: 请尝试最大堆大小(-Xmx)值给JVM更多的内存。 也可以通过命令行的方式直接打开heapdump文件: java -Xmx3000m -jar ha396.jar heapdump.20120503.170018.1510.0003.phd 其中,Xmx3000m 打开heapdump文件后的效果图,可以选择多种视图进行分析,Tree View,Objects List等等。 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。

    3.3K20编辑于 2022-11-10
  • 来自专栏JAVA相关

    Arthas heapdump(dump java heap, 类似 jmap 命令的 heap dump 功能)

    @toc二、命令列表2.1 jvm相关命令2.1.8 heapdump(dump java heap, 类似 jmap 命令的 heap dump 功能)基本用法:heapdump options <file-path 举例1:假设你想生成一个只包含活动对象的堆转储文件,并将其保存为 /tmp/heapdump.hprof基础语法:heapdump --live 指定输出的路径及文件名heapdump --live / tmp/heapdump.hprof举例2:如果你想要进一步定制堆转储文件的内容,比如只包含特定类的对象,并且以二进制格式存储基础语法:heapdump --live --include-class=指定类的全路径 如果你不确定如何使用某个选项,可以使用 help heapdump 命令查看详细的帮助信息。 Arthas sysenv(查看JVM的环境变量)7.Arthas vmoption(查看和修改 JVM里诊断相关的option)8.Arthas getstatic(查看类的静态属性 )9.Arthas heapdump

    41010编辑于 2025-05-23
  • 来自专栏SRE运维手记

    一键开启k8s微服务OOM heapdump自动化之旅

    因此,我更倾向于使用后者,因为它能够准确地在微服务发生OOM时触发heapdump。 ,此外,运维通常需要打包heapdump文件,拉取并发送给开发人员,这种工作不仅枯燥乏味,还容易让运维人员感到心累。 因此,我们希望在 OOM 生成 heapdump 文件时,不再依赖持久化存储,并能够将 heapdump 文件的下载链接直接推送给开发人员。本文将详细介绍如何实现这一目标。 开发人员可以自行下载 heapdump 文件,无需为 Pod 挂载持久化存储,也无需运维人员的手动操作。效果图如下: 03、操作步骤 1. dump2minio.sh完整脚本内容请点击 《OOM heapdump自动化脚本》

    54600编辑于 2024-12-19
  • 来自专栏编码前线

    LeakCanary原理分析

    对象 HeapDump heapDump = heapDumpBuilder.heapDumpFile(heapDumpFile).referenceKey(reference.key @Override public void analyze(@NonNull HeapDump heapDump) { checkNotNull(heapDump, "heapDump public static void runAnalysis(Context context, HeapDump heapDump, Class<? heapDump = (HeapDump) intent.getSerializableExtra(HEAPDUMP_EXTRA); HeapAnalyzer heapAnalyzer = new HeapAnalyzer(heapDump.excludedRefs, this, heapDump.reachabilityInspectorClasses); //

    1.7K30发布于 2019-03-11
  • 来自专栏移动开发面面观

    LeakCanary源码解析

    生成 heapDump HeapDump中本身没有什么逻辑,主要是封装了HeapDump的各种参数。 heapDump) { } }; void analyze(HeapDump heapDump); } /** The heap dump file, which heapDump) { checkNotNull(heapDump, "heapDump"); HeapAnalyzerService.runAnalysis(context, heapDump = "heapdump_extra"; public static void runAnalysis(Context context, HeapDump heapDump, Class heapDump = (HeapDump) intent.getSerializableExtra(HEAPDUMP_EXTRA); HeapAnalyzer heapAnalyzer =

    1.1K20发布于 2019-03-15
  • 来自专栏深入理解Android

    开源框架源码解析系列(2)——LeakCanary源码解析

    heapDump) { checkNotNull(heapDump, "heapDump"); HeapAnalyzerService.runAnalysis(context, heapDump heapDump, Class<? heapDump = (HeapDump) intent.getSerializableExtra(HEAPDUMP_EXTRA); //关键1 HeapAnalyzer heapAnalyzer = new HeapAnalyzer(heapDump.excludedRefs, this, heapDump.reachabilityInspectorClasses); //关键 2 AnalysisResult result = heapAnalyzer.checkForLeak(heapDump.heapDumpFile, heapDump.referenceKey,

    2.2K10编辑于 2022-06-22
  • 来自专栏刘望舒

    LeakCanary看这一篇文章就够了

    (HeapDump heapDump) { checkNotNull(heapDump, "heapDump"); HeapAnalyzerService.runAnalysis(context , heapDump, listenerServiceClass); } heapdumpListener是HeapDump的内部接口。 heapDump, Class<? heapDump = (HeapDump) intent.getSerializableExtra(HEAPDUMP_EXTRA); HeapAnalyzer heapAnalyzer = (heapDump.heapDumpFile, heapDump.referenceKey, heapDump.computeRetainedHeapSize); AbstractAnalysisResultService.sendResultToListener

    6.7K50发布于 2018-07-30
  • 来自专栏包子的书架

    了解LeakCanary1.6.3来龙去脉--源码分析

    heapDump) { checkNotNull(heapDump, "heapDump"); HeapAnalyzerService.runAnalysis(context, heapDump = "heapdump_extra"; public static void runAnalysis(Context context, HeapDump heapDump, Class heapDump = (HeapDump) intent.getSerializableExtra(HEAPDUMP_EXTRA); HeapAnalyzer heapAnalyzer = new HeapAnalyzer(heapDump.excludedRefs, this, heapDump.reachabilityInspectorClasses); // 开始分析 AnalysisResult result = heapAnalyzer.checkForLeak(heapDump.heapDumpFile, heapDump.referenceKey

    73791发布于 2021-03-25
  • 来自专栏全栈程序员必看

    JavaCore/HeapDump文件分析工具

    IBM HeapAnalyzer 更多信息见官方网站 在我们的应用程序发生内存泄露的时候,会生成heapdump文件,文件名字类似于这样:heapdump.20081105.031129.172870 .phd,即heapdump. heapdump文件是指定时刻的Java堆栈的快照,是一种镜像文件。 启动该软件的方式: 启动后的界面如下,使用open file菜单,浏览打开我们需要进行内存堆栈分析的heapdump文件: Heapdump文件都比较大,打开的时候比较长,推荐在配置比较好的机器上进行堆栈分析 在生成heapdump文件的时候,一般会生成javacore文件。

    2.8K20编辑于 2022-11-11
  • 来自专栏前端技术江湖

    检查自己的代码是否存在内存泄露

    官方地址:https://github.com/bnoordhuis/node-heapdump 这个模块的使用非常简单。 安装 npm install heapdump //如果遇到权限问题, 可以使用 npm install heapdump --unsafe-perm 在代码中引入 const heapdump = require('heapdump'); 既然要使用 node-heapdump 对内存泄露进行定位,我需要先构造一个有问题的代码,然后最终已服务的形式启动。 heapdump.writeSnapshot(function(err, filename) { console.log('dump written to', filename); }); 命令写入 快照将会存储在文件目录下以 heapdump-<sec>.

    4.2K10发布于 2020-03-17
  • 来自专栏俞其荣的博客

    LeakCanary源码解析

    heapDump) { checkNotNull(heapDump, "heapDump"); // HeapAnalyzerService 将运行在另外一个独立的进程中 HeapAnalyzerService.runAnalysis HeapAnalyzerService.runAnalysis public static void runAnalysis(Context context, HeapDump heapDump, heapDump = (HeapDump) intent.getSerializableExtra(HEAPDUMP_EXTRA); HeapAnalyzer heapAnalyzer = new HeapAnalyzer(heapDump.excludedRefs, this, heapDump.reachabilityInspectorClasses); // 分析内存,查找内存泄漏点以及引用链 AnalysisResult result = heapAnalyzer.checkForLeak(heapDump.heapDumpFile, heapDump.referenceKey,

    53420发布于 2021-11-24
  • 来自专栏俞其荣的博客

    LeakCanary源码解析

    heapDump) { checkNotNull(heapDump, "heapDump"); // HeapAnalyzerService 将运行在另外一个独立的进程中 HeapAnalyzerService.runAnalysis HeapAnalyzerService.runAnalysis public static void runAnalysis(Context context, HeapDump heapDump, heapDump = (HeapDump) intent.getSerializableExtra(HEAPDUMP_EXTRA); HeapAnalyzer heapAnalyzer = new HeapAnalyzer(heapDump.excludedRefs, this, heapDump.reachabilityInspectorClasses); // 分析内存,查找内存泄漏点以及引用链 AnalysisResult result = heapAnalyzer.checkForLeak(heapDump.heapDumpFile, heapDump.referenceKey,

    84130发布于 2019-07-09
  • 来自专栏胡飞洋的Android进阶

    全解系列:内存泄漏定位工具LeakCanary!

    构建一个代表hprof文件的HeapDump对象 HeapDump heapDump = heapDumpBuilder.heapDumpFile(heapDumpFile).referenceKey (this); // 创建一个HeapDump对象 } // HeapDump的构造函数 HeapDump(Builder builder) { this.heapDumpFile { checkNotNull(heapDump, "heapDump"); HeapAnalyzerService.runAnalysis(context, heapDump, listenerServiceClass heapDump = (HeapDump) intent.getSerializableExtra(HEAPDUMP_EXTRA); // 1. (heapDump); // 1.

    6K31发布于 2020-09-17
领券