使用JMAP dump及分析dump文件

原创 2012年12月28日 15:44:13

查看整个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的使用权.

 

 

 

 

 

 

 


 

 

 

查看Pid  文件

/proc/18225/status or io 信息

 

相关文章推荐

jvm系列五:使用JMAP dump及分析dump文件

分析JAVA Application的内存使用时,jmap是一个很实用的轻量级工具。使用jmap可以查看heap空间的概要情况,粗略的掌握heap的使用情况。也可以生成heapdump文件,再使用jh...

jmap命令(Java Memory Map)

JDK内置工具使用 一、javah命令(C Header and Stub File Generator) 二、jps命令(Java Virtual Machine Process Status To...

jmap的几个操作要慎用

jmap的几个操作要慎用

使用jmap dump 分析JVM内存状态

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

用jvisualvm分析dump文件

最近有一个java服务的堆内存溢出,然后僵死了,在重启服务之前用jmap命令生成了一份dump文件便于后面分析。 生成dump文件的命令: jmap -dump:format=b,file=20170...
  • lkforce
  • lkforce
  • 2017年03月08日 19:10
  • 3161

使用JMAP dump及分析dump文件

其中jmap是java自带的工具 查看整个JVM内存状态  jmap -heap [pid] 要注意的是在使用CMS GC 情况下,jmap -heap的执行有可能会导致JAVA 进程挂起 ...
  • wwd0501
  • wwd0501
  • 2016年10月14日 15:54
  • 2257

Java Heap dump文件分析工具jhat简介

jhat 是Java堆分析工具(Java heap Analyzes Tool). 在JDK6u7之后成为标配. 使用该命令需要有一定的Java开发经验. jhat 命令解析Java堆转储文件,并启动...
  • renfufei
  • renfufei
  • 2014年11月24日 14:29
  • 21920

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

利用Jmap进行简单日志分析

root@ubuntu:/# jmap -heap 21711 Attaching to process ID 21711, please wait... Debugger attache...

利用Jmap进行简单日志分析

使用jmap -heap pid查看进程堆内存使用情况,包括使用的GC算法、堆配置参数和各代中堆内存使用情况。比如下面的例子:   1 2 3 4 5 6 7 8 9...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用JMAP dump及分析dump文件
举报原因:
原因补充:

(最多只允许输入30个字)