使用jmap来生成堆转储快照
本文来说下如何使用使用jmap来生成堆转储快照
文章目录
- 概述
- 常用命令
- 测试程序
- 本文小结
概述
命令jmap是一个多功能的命令。它可以生成 java 程序的 dump 文件, 也可以查看堆内对象示例的统计信息、查看 ClassLoader 的信息以及 finalizer 队列。
jmap也是jdk自带的一个命令,在jdk中的位置如下所示
常用命令
jmap常用命令
测试程序
测试程序
package cn.wideth.buz.utils;import java.util.ArrayList;
import java.util.List;public class HeapOOM {public static class OOMObject {}public static void main(String[] args) {List<OOMObject> list = new ArrayList<>();while (true) {list.add(new OOMObject());}}
}
如果只是想简单了解下当前jvm中的对象对内存占用的情况,直接使用jmap -histo命令即可
通过命令:jmap -dump:live,format=b,file=dump.hprof PID 会在当前目录下生成一个 dump.hrpof 文件,一个二进制格式不能直接打卡,需要借助VisualVM工具
使用VisualVM打开生成的dunp文件
本文小结
本文介绍了使用jmap来生成堆转储快照,可以来分析线上OOM以及内存占用过高等问题。
使用jmap来生成堆转储快照相关推荐
- java 堆转储快照_捕获Java堆转储的7个选项
java 堆转储快照 堆转储是诊断与内存相关的问题的重要工件,例如内存泄漏缓慢,垃圾回收问题和java.lang.OutOfMemoryError.它们也是优化内存消耗的重要工件. 有很棒的工具,例如 ...
- java 堆转储快照_Java堆转储:您可以完成任务吗?
java 堆转储快照 如果您像我一样对Java性能充满热情,那么堆转储分析对您来说应该不是一个谜. 如果是这样,那么好消息是您将有机会增加您的Java故障排除技能和JVM知识. JVM现在已经发展到这 ...
- java 转储快照分析_分析Java核心转储
java 转储快照分析 在本文中,我将向您展示如何调试Java核心文件,以查看导致JVM崩溃的原因. 我将使用在上一篇文章: 生成Java Core Dump中生成的核心文件. 您可以通过以下几种方法 ...
- 深入理解Java虚拟机——虚拟机堆转储快照分析工具(jhat)
目录 一.虚拟机堆转储快照分析工具(jhat)的概述 二.实际工作中一般不直接使用jhat命令分析dump文件原因 三.使用jhat分析dump文件示例 一.虚拟机堆转储快照分析工具(jhat)的概述 ...
- java 内存溢出 jstack,Java——命令jps、jstat、jmap、jstack、jhat、jinfo
JAVA_HOME/bin/ 目录下jdk提供了很多自带工具,下面以tomcat下的web项目为例.如果感觉输出内容太多可以使用 xxx | head -n 20 显示输出内容的头20行. jps j ...
- Java——命令jps、jstat、jmap、jstack、jhat、jinfo
JAVA_HOME/bin/ 目录下jdk提供了很多自带工具,下面以tomcat下的web项目为例.如果感觉输出内容太多可以使用 xxx | head -n 20 显示输出内容的头20行. jps j ...
- Java虚拟机性能监控工具草览
为什么80%的码农都做不了架构师?>>> 方法.套路.工具,都能提高生产力.做了一轮压测,顺道列列虚拟机的工具. 一. Java虚拟机有哪些性能工具 我们按操作方式分为两类,有 ...
- JDK自带JVM工具
1 jdk 自带工具之jstat--虚拟机进程状况工具 使用方式 Usage: jstat -help|-optionsjstat -<option> [-t] [-h<lines& ...
- JDK 监控和故障处理工具总结
文章目录 JDK 命令行工具 jps:查看所有 Java 进程 jstat: 监视虚拟机各种运行状态信息 jinfo: 实时地查看和调整虚拟机各项参数 jmap:生成堆转储快照 jhat: 分析 he ...
最新文章
- 系统管理工具top、glances、dstat比较
- 玩转OpenVswitch:简介
- Linux 创建指定大小空文件
- python 读取配置文件config_python中读取配置文件ConfigParser
- RabbitMQ Topic交换机(结果成功)
- 大页内存(HugePages)
- rxjs的一个例子:什么是rxjs的OperatorFunction?
- 基于LVS对LAMP做负载均衡集群
- matlab绘3d图
- SpringBoot 2.1.5(38)---热部署(devtools)配置操作
- 渗透测试攻击(二)——wireshark过滤数据包语法详解
- 代码行云流水..这位刚高中毕业的 UP 主,告诉我人的学习能力没有上限
- HEL上清除Oracle10g clusterware的失败安装
- 单招面试计算机专业技巧,单招面试技巧 单招好不好
- MySQL的字符集和校对规则,你都会了吗?
- XFtp - 显示隐藏的文件和文件夹
- React Native 程序部署至 iOS 应用商店之前需要的配置和如何生成 release 版本的 APK 包
- 数据库架构设计——数据库选型
- 海胆状金纳米颗粒,粒径:150-200nm|银包金纳米颗粒 粒径:5-200nm|碳包金纳米颗粒 粒径:可定制
- Android 手势识别向左,右,上,下,滑动的方向
热门文章
- 干掉勒索病毒的22岁程序员自曝黑历史:中学是电脑白痴
- loadrunner-2-9添加事务
- 看了些关于rem的知识点,在这做个自我总结归纳
- 《Linux内核设计与实现》读书笔记(2)--- 进程管理
- 实验十 团队作业6:团队项目系统设计改进与详细设计
- SQL Server-聚焦LEFT JOIN...IS NULL AND NOT EXISTS性能分析(十七)
- 【cocos2d-x从c++到js】08:JS脚本语言的优势与一些问题
- iTunes 安装ipa文件到iPhone上
- jquery 选择器之children与find
- [转]直接拿来用!最火的Android开源项目(一)