『壹』 java visualvm 堆mp怎么分析
jmap是java自带的来工具1. 查看整个JVM内存源状态 jmap -heap [pid]2. 查看JVM堆中对象详细占用情况jmap -histo [pid]3. 导出整个JVM 中内存信息,可以利用其它工具打开mp文件分析,例如jdk自带的visualvm工具jmap -mp:file=文件名.mp [pid]
『贰』 使用jmap mp出来的java堆镜像文件,可以用什么打开做详细分析
其中jmap是自带的工具查看整个JVM内存状态 jmap -heap [pid]要注意的是在使用CMS GC 情况下,jmap -heap的执行有可能会导致JAVA 进程挂起查看JVM堆中对象详细占用情况jmap -histo [pid]导出整个JVM 中内存信息jmap -mp:format=b,file=文件名 [pid]jhat是sun 1.6及以上版本中自带的一个用于分析JVM 堆DUMP 文件的工具,基于此工具可分析JVM HEAP 中对象的内存占用情况jhat -J-Xmx1024M [file]执行后等待console 中输入start HTTP server on port 7000 即可使用浏览器访问 IP:7000eclipse Memory AnalyzerEclipse 提供的一个用于分析JVM 堆Dump文件的插件。借助这个插件可查看对象的内存占用状况,引用关系,分析内存泄露等。http://www.eclipse.org/mat/kill -3 [pid]在Linux 上找到Java所在的进程号,然后执行以上命令,线程的相关信息就输出到consolejstackjstack 是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 远程监控。
『叁』 怎么用mpanalyzer分析mp文件
实例讲解:使用IBM heapAnalyzer分析heap mp文件http://blog.csdn.net/xu1314/article/details/7711768详细可以参考这个,有图解教程,希望可以帮到你
『肆』 如何查看javacore和heapmp文件
如何查看javacore和heapmp文件一。查看javacore文件1.下载ThreadDumpAnalyser,graphviz,svgviewer2.运行runall.bat javacore.txt,会产生三个文件mps.xml,locktree1.svg,sidebyside.html二。查看heapmp文件1.从IBM网站下载ha433包,释放,执行ha433.jar文件2.在ha433窗口打开heapmp.phd,从中会显示分析结果
『伍』 analyzing heap mp是什么
分析堆转储拓展:一、虚拟机堆转储快照分析工具(jhat)的概述jhat(JVM Head Analysis Tool)命令与jmap搭配使用,来分析Jmap生成的堆转储快照。jhat内置了一个微型的HTTP/HTML服务器,生成mp文件的分析结果后,可以在浏览器中查看。二、实际工作中一般不直接使用jhat命令分析mp文件原因一般不会在部署应用程序的服务器上直接分析mp文件,即使可以这样做,也会尽量将mp文件复制到其他机器上进行分析,因为分析工作时一个耗时而且消耗硬件资源的过程。jhat的分析功能相对来说比较简陋。三、使用jhat分析mp文件示
『陆』 如何分析websphere生成的javacore和heapmp
在was启动前设置下面环境变量(可以加在启动脚本中)export IBM_HEAPDUMP=trueexport IBM_HEAP_DUMP=trueexport IBM_HEAPDUMP_OUTOFMEMORY=trueexport IBM_HEAPDUMPDIR=<directory path>2.2please use set command to make sure you do not have DISABLE_JAVADUMP parameterthen start this cluster member.用set命令检查参数设置,确保没有设置DISABLE_JAVADUMP,然后启动server2.3when you find free memory < 50% when no heavy access, please run kill -3 <pid>执行kill -3 <pid>命令可以生成javacore文件和heapmp文件(pid为was java进程的id号,可以用ps -ef|grep java 查到),可以多执行几次,按照下面操作进行ps -ef > psef1.txtps aux > psaux1.txtvmstat 5 10 > vmstat.txtkill -3 <app server id>wait for 2 minskill -3 <app server id>wait for 2 minskill -3 <app server id>netstat -an> netstat2.txtps -ef > psef2.txtps aux > psaux2.txt将上面产生的 txt 文件和/usr/WebSphere/AppServer/javacore*文件和heapmp文件拷贝到本地,然后删除这些文件,因为这些文件会占用较大的文件系统空间。
『柒』 jconsole导出的csv文件.使用什么工具分析
[Java]使用jConsole导出Java程序heap mp文件Heap mp文件存储着在该文件生成时,Java程序的所有未被回收的Objects的信息。通过使用MAT工具,可以揪出内存泄漏点以达到减少Java程序内存消耗的目的。本文只是记录下如何使用jConsole导出Java程序的heap mp文件。以做分享及备份。在Jre6及以上的环境下,启动<jre6>/bin/jconsole.exe并选中一个正在运行的Java进程条目,如下图:
『捌』 最近系统经常蓝屏,已经生成mp文件,请问用什么方法可以解析mp文件,求分析工具,谢谢
你好你说的这种情况,一般都是由 系统软件、内存、硬盘引起的。1 电脑不心装上了恶意软件,或上网时产生了恶意程序,建议用360 卫士 、金山卫士等软件,清理垃圾,查杀恶意软件,就可能解决。2 最近电脑中毒、安装了不稳定的软件、等,建议全盘杀毒,卸了那个引发问题的软件,重新安装其他 版本,就可能解决. 再不行,重新装过系统就ok.3 电脑用久了机箱里面进灰尘,拆开机箱,拆下内存条,清洁下,再装回去。就可能解决.4 电脑用久了内存坏、买到水货内存、多条内存一起用不兼容等,建议更换内存即可能解决。5 电脑用久了,硬盘坏,重新分区安装系统可以修复逻辑坏道,还是不行,那就到了该换硬盘的时候了,换个硬盘就可以解决。硬件方面的问题,如果你不专业,建议拿到电脑店去测试,测试好了讲好价再换。希望能帮到你!!! 不明白hi 我,我可以教你一步一步去慢慢分析解决。。。
『玖』 如何手工抓取mp文件及分析
当服务器挂起,崩溃或者性能底下时,就需要抓取服务器的线程堆栈(Thread Dump)用于后续的分析.Thread mp提供了当前活动的线程的快照. 它提供了JVM中所有Java线程的栈跟踪信息有很多方式可用于获取Thread Dump, 一些是操作系统特定的命令.操作系统命令获取ThreadDump:Windows:1. 转向服务器的标准输出窗口并按下Control + Break组合键, 之后需要将线程堆栈复制到文件中UNIX/ Linux首先查找到服务器的进程号(process id), 然后获取堆栈.1. ps –ef | grep java2. kill -3 <pid>注意一定要谨慎, 一步不慎就可能让服务器进程被杀死! JVM 自带的工具获取线程堆栈:JDK自带命令行工具获取PID并做ThreadDump:1. jps2. jstack <pid>使用JVisualVM:Threads 标签页àThreadDump按钮.WebLogic 自带的获取 thread mp的工具:1. webLogic.Admin 工具a. 打开命令提示符, 通过运行<DOMAIN_HOME>/bin/setDomain.env设置相关类路径b. 执行下面的命令java weblogic.Admin -url t3://localhost:7001 -username weblogic -password weblogic1 THREAD_DUMP注意: Thread Dump 会打印到标准输出, 如nohup日志或者进程窗口.2. 使用 Admin Consolea. 登录 Admin Console , 点击对应的服务器b. 点击Server à Monitoring àThreadsc. 点击: Dump Thread Stack 按钮3. 使用WLST (WebLogic Scripting Tool)connect(‘weblogic’,'weblogic1’,’t3://localhost:7001’)cd(‘Servers’)cd(‘AdminServer’)threadDump()disconnect()exit()注意: 线程堆栈将会保存在运行wlst的当前目录下.4. 使用utils.ThreadDumper用法:C:\bea\wlserver_10.3\server\lib>java -cp weblogic.jar utils.ThreadDumperBroadcast Thread mps disabled: must specify weblogic.debug.mpThreadAddr andweblogic.debug.mpThreadPortException in thread "main" java.lang.I llegalArgumentException: Port out of range:-1at java.net.DatagramPacket.setPort(Unknown Source)at java.net.DatagramPacket.<init>(Unknown Source)at java.net.DatagramPacket.<init>(Unknown Source)at utils.ThreadDumper.sendDumpMsg(ThreadDumper.java:124)at utils.ThreadDumper.main(ThreadDumper.java:145)5. 如果服务器是作为Windows服务的方式运行, 请运行下列命令:WL_HOME\bin\beasvc -mp -svcname:service-name
『拾』 如何使用Heap Analyzer生成和分析IBM Java Heapmp
SUN JDK生成Heapmp文件只需要在tomcat启动脚本中增加 HeapDumpOnOutOfMemoryError 参数此参数需要Java SE release 5.0 update 14 或以上支持设置示例:set JAVA_OPTS=%JAVA_OPTS% -server -Xms512m -Xmx800m -XX:PermSize=64M -XX:MaxPermSize=128m -Djava.awt.headless=true -XX:+HeapDumpOnOutOfMemoryError -XX:+HeapDumpOnCtrlBreakIBM JDK生成Heapmp文件的开关:— export IBM_HEAPDUMP=true— export IBM_HEAP_DUMP=true— export IBM_HEAPDUMP_OUTOFMEMORY=true— export IBM_JAVADUMP_OUTOFMEMORY=true— export IBM_HEAPDUMPDIR=<directory_path>HP JDK生成Heapmp文件需要在在环境变量上,加上export _JAVA_HEAPDUMP=1