使用JMAP dump及分析dump文件
来源:互联网 发布:青岛网络干部学院错误 编辑:程序博客网 时间:2024/04/28 02:11
查看整个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 信息
- 使用JMAP dump及分析dump文件
- 使用JMAP dump及分析dump文件
- 使用JMAP dump及分析dump文件
- 使用JMAP dump及分析dump文件
- 使用JMAP dump及分析dump文件
- 使用JMAP dump及分析dump文件
- 使用JMAP dump及分析dump文件
- 使用JMAP dump及分析dump文件
- 使用JMAP dump及分析dump文件
- 使用JMAP dump及分析dump文件
- 使用JMAP dump及分析dump文件
- jvm系列五:使用JMAP dump及分析dump文件
- [Java基础] 使用JMAP dump及分析dump文件
- 使用jmap命令dump文件
- 使用jmap dump 分析JVM内存状态
- jmap dump
- java dump文件怎么生成和分析-JMAP用法
- 使用WinDBG生成dump文件 WinDBG分析dump文件
- Spring Boot Maven 打包可执行Jar文件!
- 蓝桥杯 VIP 基础练习 2n皇后问题 By Assassin
- 关于浏览器缓存,版本更新问题
- 1003. Emergency (25)(dijikstra+DFS)
- 常见排序算法的C#实现
- 使用JMAP dump及分析dump文件
- java数组去重list.contains()的使用
- 关于装两个Tomcat的问题
- 贝叶斯网络
- activiti
- CSS 编码规范
- Android 获取联系人之方式三
- GIT仓库学习--本地、远程仓库版本回退
- MP3文件格式分析