[Java基础] 使用JMAP dump及分析dump文件

JVM 性能调优监控工具之Jmap和 Jhat JVM 性能调优监控工具之Jmap和 Jhat 文章目录JVM 性能调优监控工具之Jmap和 Jhat前言一、什么是jmap和jhat?二、方式一1.jmap导出堆内存2.以本人项目服务器为例3.查看进程堆内存使用情况4.查看堆内存中的对象数目二、方式二(dump导出文件方式)1.jmap把进程内存dump到文件中2.使用jhat查看存储文件总结 前言 提示:以下是本篇文章正文内容,下面案例可供参考 一、什么是jmap和jhat? jmap命令是把进程内存使用情况转存到dump文件中,再用jhat分 阅读详情

原文:http://www.cnblogs.com/0616--ataozhijia/p/4136312.html

其中jmap是java自带的工具

查看整个JVM内存状态 
jmap -heap [pid]
要注意的是在使用CMS GC 情况下,jmap -heap的执行有可能会导致JAVA 进程挂起

查看JVM堆中对象详细占用情况
jmap -histo [pid]

导出整个JVM 中内存信息
jmap -dump:format=b,file=文件名 [pid]

jhat是sun 1.6及以上版本中自带的一个用于分析JVM 堆DUMP 文件的工具,基于此工具可分析JVM HEAP 中对象的内存占用情况
jhat -J-Xmx1024M [file]
执行后等待console 中输入start HTTP server on port 7000 即可使用浏览器访问 IP:7000

eclipse Memory Analyzer
Eclipse 提供的一个用于分析JVM 堆Dump文件的插件。借助这个插件可查看对象的内存占用状况,引用关系,分析内存泄露等。
http://www.eclipse.org/mat/


kill -3 [pid]
在Linux 上找到Java所在的进程号,然后执行以上命令,线程的相关信息就输出到console


jstack
jstack 是sun JDK 自带的工具,通过该工具可以看到JVM 中线程的运行状况,包括锁等待,线程是否在运行
执行 jstack [pid] ,线程的所有堆栈信息

"http-8080-10" daemon prio=10 tid=x0a949bb60 nid=0x884  waiting for monitor entry [...]

"http-8080-10" 这个线程处于等待状态。 waiting for monitor entry 如果在连续几次输出线程堆栈信息都存在于同一个或多个线程上时,则说明系统中有锁竞争激烈,死锁,或锁饿死的想象。


“http-8080-11” daemon prio=10 tix=xxx nid=xxx in object.wait() [...]
 java.lang.Thread.State:waiting (on object monitor)
该表示http-8080-11的线程处于对象的Wait 上,等待其他线程的唤醒,这也是线程池的常见用法。

“Low Memory Detector”daemon prio=10 tix=xx nid=xxx runnable [...] java.lang.Thread.State:runnable
表示“Low Memory Detector” 的线程处于Runable状态,等待获取CPU的使用权.

 

参考:http://zhumeng8337797.blog.163.com/blog/static/100768914201242410583187/

jvisualvm
 

一.Java VisualVM 概述

 

  对于使用命令行远程监控jvm 太麻烦 。 在jdk1.6 中 Oracle 提供了一个新的可视化的。 JVM 监控工具 Java VisualVM 。jvisualvm.exe 在JDK 的 bin 目录下。

 

   双击启动 Java VisualVM 后可以看到窗口左侧 “应用程序 ”栏中有“ 本地 ”、“远程 ” 、“快照 ”三个项目。

 

  “本地 ”下显示的是在 localhost 运行的 Java 程序的资源占用情况,如果本地有 Java 程序在运行的话启动 Java VisualVM 即可看到相应的程序名,点击程序名打开相应的资源监控菜单,以图形的形式列出程序所占用的 CPU 、 Heap 、 PermGen 、类、线程的 统计信息。

 

  “远程” 项下列出的远程主机上的 Java 程序的资源占用情况,但需要在远程主机上运行 jstatd 守护程序

 

 

 

 

VisualVM分为 3 类, 本地 它会自动侦测到,并显示出来

 

双击Local 下的任一节点,看到右边的变化 ,你可以监控 CPU ,内存,类,线程等运行状况,实时监控服务器性能。

 

 

 

 

 右键 VisualVM我们可以看到 Thread Dump, Heap Dump

 做 Thread Dump 很快,马上就可以看到结果

 

 

 

 

Heap Dump要稍花费一些时间(可以看到当前 heap 里对象的数量及占用的比例,做 OOM 很好用)

 

 

 

 

 

对其功能不再做描述,可以查阅网上相关质量,我们主要讲的是如何使用 VisualVM 远程监控。


【JVM】jvm jmap 使用 1.概述 阅读详情

相关推荐

jmap分析内存泄漏OOM问题

压测过程中内存问题分析常用步骤: 1、使用 free -m 命令查看内存使用情况,判断内存使用占比是否过高; 2、使用jstat -gc pid 命令查看GC回收情况,判断是否存在full GC频繁; 3、使用 jmap -dump:live,format=b,file=xxxx.hprofile pid生成head dump文件; 4、使用VisualVM或MAT工具分析dump文件,找到具体泄露的对象;......

程序员小杨哥的博客 6782

jmap 导出dump文件

1.首先使用jps命令查看进程PID 2.使用jmap -dump:format=b,live,file=文件名 进程PID

小鲁班-JAVA开发 2万+

别再手动改颜色了!用这个Word宏,一键搞定Zotero参考文献超链接的蓝色样式

本文介绍如何利用Word宏一键修改Zotero参考文献的超链接颜色,解决手动调整的繁琐问题。通过详细的VBA代码解析和高级定制方案,帮助科研人员快速实现文献引用的自动化格式优化,提升论文排版效率。特别适合需要批量处理APA等标准格式蓝色超链接的用户。

weixin_30875157的博客 514

dump 日志收集与分析(jmap 和 jstack 工具)讲解与实战操作

dump通常指的是从一个系统或应用程序中生成一份详细的信息快照,以便进行调试、分析或故障排除。在不同的上下文中,dump可能指的是不同类型的信息。内存转储):内存转储是将程序的内存内容以二进制形式保存到文件中的过程。这对于在程序崩溃或发生问题时进行调试和分析非常有用。常见的工具有 gcore(用于 GDB)、jmap(用于 Java 应用程序)等。核心转储(Core Dump):核心转储是在程序崩溃时生成的一个包含程序当前内存状态的文件。它通常包括内存、寄存器和堆栈信息。

匠人精神,持之以恒! 1万+

银河麒麟系统完美安装EasyConnect

Kylin V10桌面版完美安装EasyConnect

weixin_53874797的博客 1万+

WGCNA样本量不够怎么办?5种替代方案帮你解决小样本基因共表达分析难题

本文针对WGCNA样本量不足的问题,提供了5种科学替代方案,包括CEMiTool、参数调整、多组学数据整合、机器学习特征提取和公共数据利用。这些方法帮助研究者在小样本条件下仍能进行可靠的基因共表达分析,特别适用于罕见病和珍贵临床样本研究。

weixin_42554042的博客 301

dump java_[Java基础] 使用JMAP dump及分析dump文件

http://zhumeng8337797.blog.163.com/blog/static/100768914201242410583187/其中jmap是java自带的工具查看整个JVM内存状态jmap -heap [pid]要注意的是在使用CMS GC 情况下,jmap -heap的执行有可能会导致JAVA 进程挂起查看JVM堆中对象详细占用情况jmap -histo [pid]导出整个JV...

weixin_27066963的博客 507

【技术实践指南】Python解析FactSet Revere供应链数据:构建企业级断裂与重构监测指标

本文提供了一份企业级Python实践指南,详细解析如何利用FactSet Revere供应链数据库,构建供应链断裂与重构监测指标。内容涵盖数据清洗、关系对筛选、时间序列处理及核心指标(断裂、恢复、转移)的工程化实现,旨在帮助数据工程师与分析师搭建自动化、可解释的供应链风险监控系统。

weixin_29051811的博客 927

jmap 文件解析_[Java基础] 使用JMAP dump及分析dump文件

http://zhumeng8337797.blog.163.com/blog/static/100768914201242410583187/其中jmap是java自带的工具查看整个JVM内存状态jmap -heap [pid]要注意的是在使用CMS GC 情况下,jmap -heap的执行有可能会导致JAVA 进程挂起查看JVM堆中对象详细占用情况jmap -histo [pid]导出整个JV...

weixin_35510761的博客 938

Microchip Studio 7.0 从零开始:下载、安装到首个AVR工程实战

本文为AVR单片机开发新手提供了Microchip Studio 7.0的完整入门指南。从官方下载、避坑安装,到创建首个GCC C工程、编写LED闪烁代码,再到项目配置、仿真调试与程序烧录,手把手带你完成从零到一的实战过程,是掌握AVR开发环境的必备教程。

weixin_29200741的博客 520

A*寻路算法的最简单通俗讲解

为什么我的眼里常含泪水?因为我有一个算法不会。为了节约点眼泪,今天我们就来介绍著名的A*寻路算法(或简称A*算法)。 Peter Hart, Nils Nilsson 和 Bertram Raphael 在1968年首次提出了著名的A*算法。A*算法其实是Dijkstra最短路径算法的一种扩展。不一样的是,在A*算法中我们需要使用Heuristics 来导引搜索过程,以期达到更好的表现。 ...

白马负金羁 2万+

java 生成dump_java dump文件怎么生成和分析-JMAP用法详解

jmap是java自带的工具1. 查看整个JVM内存状态jmap -heap [pid]2. 查看JVM堆中对象详细占用情况jmap -histo [pid]3. 导出整个JVM 中内存信息,可以利用其它工具打开dump文件分SBwlhzi析,例如jdk自带的visualvm工具jmap -dump:file补充Jmap导出java运行中的堆内存dump及Jprofiler分析方法1.jmap导出...

weixin_39717704的博客 814

高空抛物监控系统:基于YOLOv8的轨迹追踪与可视化系统

本文详细介绍了一种基于YOLOv8深度学习模型的高空抛物监控系统,该系统能够实时检测并追踪高层建筑抛掷物的运动轨迹。文章包含完整的系统设计思路、算法实现细节、数据集构建方法以及基于PyQt5的可视化界面开发过程。我们提供了完整的Python实现代码,并讨论了系统的性能优化策略和实际部署考量。此外,我们还推荐了几个公开可用的高空抛物数据集,并详细分析了系统的应用前景和技术挑战。

YOLO 446

jmap 文件解析_使用jmap dump出来的java堆镜像文件,可以用什么打开做详细分析

匿名用户1级2018-11-15 回答其中jmap是java自带的工具查看整个JVM内存状态jmap -heap [pid]要注意的是在使用CMS GC 情况下,jmap -heap的执行有可能会导致JAVA 进程挂起查看JVM堆中对象详细占用情况jmap -histo [pid]导出整个JVM 中内存信息jmap -dump:format=b,file=文件名 [pid]jhat是sun 1.6...

weixin_33167456的博客 989

Python 实战:爬取高德地图交通数据(路况拥堵指数分析)

高德地图是由高德软件有限公司开发的一款地图导航产品,提供详细的地图浏览、路线规划、实时路况、公共交通查询等功能。高德地图拥有庞大的用户群体和海量的交通数据,这些数据对于交通管理、城市规划、出行服务等领域具有重要的价值。通过对高德地图交通数据的分析,我们可以了解城市交通的运行状况,识别拥堵路段,预测交通流量,为交通管理部门和出行者提供决策支持。

yansideyucsdn的博客 2684

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

[Java基础] 使用JMAP dump及分析dump文件

转载:http://blog.youkuaiyun.com/kevin_luan/article/details/8447896 http://liulinxia02.blog.163.com/blog/static/26868772009111861834942/ http://zhumeng8337797.blog.163.com/blog/static/10076891420124241058318...

weixin_34273481的博客 108

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

java dump文件怎么生成和分析-JMAP用法

java dump文件怎么生成-JMAP用法

Think Different 6万+

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

java jmap format_[Java基础] 使用JMAP dump及分析dump文件

http://zhumeng8337797.blog.163.com/blog/static/100768914201242410583187/其中jmap是java自带的工具查看整个JVM内存状态jmap -heap [pid]要注意的是在使用CMS GC 情况下,jmap -heap的执行有可能会导致JAVA 进程挂起查看JVM堆中对象详细占用情况jmap -histo [pid]导出整个JV...

weixin_42372837的博客 343

dump文件入门基础

Dump文件是进程的内存镜像,扩展名是 .dmp。可以把程序的执行状态通过调试器保存到dump文件中。Dump文件是用来给驱动程序编写人员调 试驱动程序用的,这种文件必须用专用工具软件打开,比如使用WinDbg打开。 主要是用来在系统中异常或者崩溃的时候,来生成dump文件,然后用调试器来调试。 这样就可以在生产环境中的dmp文件,拷贝到自己的开发机器上,调试就可以找到错误的位置。 使

fayeyiwang的专栏 7018

Java进程的dump文件生成与分析

当程序运行出现问题时,我们可以通过Java自带的工具生成java进程的dump文件进行堆栈分析。 使用java自带的工具jmap可以监控内存状态,生成dump日志等; 生成dump文件 1,首先需要获取linux进程的pid,比如36146,然后执行 # jmap -dump:file=javaDump.hprof,format=b 36146 或者 # jmap -dump:file=javaDump.dump,format=b 36146 这样可以导出36146进程的java程序的整个JV

Deronn的博客 2万+

java进程内存分析工具-生成core dump文件,并读取分析:jmap, jhat

【代码】java进程内存分析工具-生成core dump文件,并读取分析:jmap, jhat。

eyeofeagle的博客 1367
上一篇: Mac OS X打开下载文件提示的禁止方法
下一篇: [iOS]UIAlertController各标签属性的改变
mmoooodd
博客等级 码龄18年 35粉丝 42原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值