http://blog.csdn.net/fenglibing/article/details/6411999

jps 

jps -mlvV

jmap

jmap -heap <pid>  查看jvm内存设置和使用情况

[root@datanode169 ~]# jmap -heap 29090
Attaching to process ID , please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 24.76-b04 using thread-local object allocation.
Parallel GC with thread(s) Heap Configuration:
MinHeapFreeRatio =
MaxHeapFreeRatio =
MaxHeapSize = (.0MB)
NewSize = (.25MB)
MaxNewSize = MB
OldSize = (.1875MB)
NewRatio =
SurvivorRatio =
PermSize = (.0MB)
MaxPermSize = (.0MB)
G1HeapRegionSize = (.0MB) Heap Usage:
PS Young Generation
Eden Space:
capacity = (.0MB)
used = (.89863586425781MB)
free = (.101364135742188MB)
76.02958073691717% used
From Space:
capacity = (.0MB)
used = (.9933624267578125MB)
free = (.0066375732421875MB)
99.86724853515625% used
To Space:
capacity = (.0MB)
used = (.0MB)
free = (.0MB)
0.0% used
PS Old Generation
capacity = (.0MB)
used = (.77819061279297MB)
free = (.22180938720703MB)
26.558769039991425% used
PS Perm Generation
capacity = (.0MB)
used = (.486091613769531MB)
free = (.51390838623047MB)
4.486754536628723% used interned Strings occupying bytes.
[root@datanode169 ~]#

jmap -histo <pid>

jmap -dump:live,format=b,file=szc.dump <pid>

利用top 和 jstack 分析

// 以线程3301 为例
# top -n -Hp 3301

Tasks: 35 total, 0 running, 35 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.6%us, 0.2%sy, 0.0%ni, 98.1%id, 1.1%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 8076704k total, 7929456k used, 147248k free, 117748k buffers
Swap: 8190972k total, 17328k used, 8173644k free, 2669008k cached


PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
3318 root 20 0 3312m 192m 10m S 2.0 2.4 0:02.24 java
3301 root 20 0 3312m 192m 10m S 0.0 2.4 0:00.00 java
3302 root 20 0 3312m 192m 10m S 0.0 2.4 0:01.93 java
3303 root 20 0 3312m 192m 10m S 0.0 2.4 0:00.03 java
3304 root 20 0 3312m 192m 10m S 0.0 2.4 0:00.02 java
3305 root 20 0 3312m 192m 10m S 0.0 2.4 0:00.01 java
3306 root 20 0 3312m 192m 10m S 0.0 2.4 0:00.02 java
3307 root 20 0 3312m 192m 10m S 0.0 2.4 0:00.01 java
3308 root 20 0 3312m 192m 10m S 0.0 2.4 0:00.02 java
3309 root 20 0 3312m 192m 10m S 0.0 2.4 0:00.01 java
3310 root 20 0 3312m 192m 10m S 0.0 2.4 0:00.02 java
3311 root 20 0 3312m 192m 10m S 0.0 2.4 0:00.12 java
3312 root 20 0 3312m 192m 10m S 0.0 2.4 0:00.01 java
3313 root 20 0 3312m 192m 10m S 0.0 2.4 0:00.01 java
3314 root 20 0 3312m 192m 10m S 0.0 2.4 0:00.00 java
3315 root 20 0 3312m 192m 10m S 0.0 2.4 0:00.34 java
3316 root 20 0 3312m 192m 10m S 0.0 2.4 0:00.36 java
3317 root 20 0 3312m 192m 10m S 0.0 2.4 0:00.00 java
3319 root 20 0 3312m 192m 10m S 0.0 2.4 0:00.03 java
3329 root 20 0 3312m 192m 10m S 0.0 2.4 0:00.00 java
3330 root 20 0 3312m 192m 10m S 0.0 2.4 0:00.00 java
3353 root 20 0 3312m 192m 10m S 0.0 2.4 0:00.01 java
root 20 0 3312m 192m 10m S 0.0 2.4 0:00.01 java
3433 root 20 0 3312m 192m 10m S 0.0 2.4 0:00.02 java
3434 root 20 0 3312m 192m 10m S 0.0 2.4 0:00.02 java
3435 root 20 0 3312m 192m 10m S 0.0 2.4 0:00.01 java
3436 root 20 0 3312m 192m 10m S 0.0 2.4 0:00.00 java
3437 root 20 0 3312m 192m 10m S 0.0 2.4 0:00.00 java
3438 root 20 0 3312m 192m 10m S 0.0 2.4 0:00.00 java
3439 root 20 0 3312m 192m 10m S 0.0 2.4 0:00.00 java
3440 root 20 0 3312m 192m 10m S 0.0 2.4 0:00.00 java
3441 root 20 0 3312m 192m 10m S 0.0 2.4 0:00.00 java
3442 root 20 0 3312m 192m 10m S 0.0 2.4 0:00.04 java
3443 root 20 0 3312m 192m 10m S 0.0 2.4 0:00.05 java
6106 root 20 0 3312m 192m 10m S 0.0 2.4 0:00.00 java

# jstack -l 3301

// 截取部分输出如下

"Thread-6" prio=10 tid=0x00007f1ee05d1800 nid=0xd68 waiting on condition [0x00007f1ecafc4000]
java.lang.Thread.State: TIMED_WAITING (sleeping)
at java.lang.Thread.sleep(Native Method)

可以看出 0xd68 是 3432 的16进制

1. 不同的 JAVA虚机的线程 DUMP的创建方法和文件格式是不一样的,不同的 JVM版本, dump信息也有差别。本文中,只以 SUN的 hotspot JVM 5.0_06 为例。
2. 在实际运行中,往往一次 dump的信息,还不足以确认问题。建议产生三次 dump信息,如果每次 dump都指向同一个问题,我们才确定问题的典型性。 

参考 http://josh-persistence.iteye.com/blog/2161848?utm_source=tuicool&utm_medium=referral

Java 分析工具汇总的更多相关文章

  1. (转)超全整理!Linux性能分析工具汇总合集

    超全整理!Linux性能分析工具汇总合集 原文:http://rdc.hundsun.com/portal/article/731.html 出于对Linux操作系统的兴趣,以及对底层知识的强烈欲望, ...

  2. Linux下性能分析工具汇总

    来自:http://os.51cto.com/art/201104/253114.htm 本文讲述的是:CPU性能分析工具.Memory性能分析工具.I/O性能分析工具.Network性能分析工具. ...

  3. Linux 性能分析工具汇总合集

    出于对Linux操作系统的兴趣,以及对底层知识的强烈欲望,因此整理了这篇文章.本文也可以作为检验基础知识的指标,另外文章涵盖了一个系统的方方面面.如果没有完善的计算机系统知识,网络知识和操作系统知识, ...

  4. [转]Linux性能分析工具汇总合集

    出于对Linux操作系统的兴趣,以及对底层知识的强烈欲望,因此整理了这篇文章.本文也可以作为检验基础知识的指标,另外文章涵盖了一个系统的方方面面.如果没有完善的计算机系统知识,网络知识和操作系统知识, ...

  5. 超全整理!Linux性能分析工具汇总合集

    转自:http://rdc.hundsun.com/portal/article/731.html?ref=myread 出于对Linux操作系统的兴趣,以及对底层知识的强烈欲望,因此整理了这篇文章. ...

  6. Java开发工具汇总

    1. Arthas 是Alibaba开源的Java诊断工具 Java动态追踪,对生产环境出现出现bug的情况下,无法调试处理问题,可以借鉴该工具进行问题分析. 原理介绍:Java动态追踪技术探究 Ar ...

  7. java分析工具arthas

    wget https://alibaba.github.io/arthas/arthas-boot.jar java -jar arthas-boot.jar --target-ip 0.0.0.0

  8. Java 性能分析工具 , 第 2 部分:Java 内置监控工具

    引言 本文为 Java 性能分析工具系列文章第二篇,第一篇:操作系统工具.在本文中将介绍如何使用 Java 内置监控工具更加深入的了解 Java 应用程序和 JVM 本身.在 JDK 中有许多内置的工 ...

  9. 9个Java性能优化工具汇总

    本文来自blog.idrsolutions.com 1.NetBeans profiler NetBeans Profiler是一个模块化的添加,为NetBeans IDE提供分析功能,它是一个开源的 ...

随机推荐

  1. 谷歌浏览器使用SelectorGadget和Xpath Helper获取xpath和css path

    在上篇文章里,介绍了如何在火狐浏览器中获取网页元素的xpath和css path. 这篇文章将介绍,在谷歌浏览器中使用SelectorGadget和Xpath Helper实现同样功能. 这两个谷歌浏 ...

  2. 解密阿里云Redis助力双十一背后的技术

    摘要: Redis是一个使用范围很广的NOSQL数据库,阿里云Redis同时在公有云和阿里集团内部进行服务,本文介绍了阿里云Redis双11的一些业务场景:微淘社区之亿级关系链存储.天猫直播之评论商品 ...

  3. Appnium安装-Mac平台

    Appium的安装-MAC平台   其实Appium的安装方式主要有两种: 1)自己安装配置nodejs的环境,然后通过npm进行appium的安装 2)直接下载官网提供的dmg进行安装,dmg里面已 ...

  4. c/c++通用内存泄漏检测框架GMFD(General Memory Fault Detection Framework)

    http://qa.baidu.com/blog/?p=171 1 背景: x86平台有完善的用户态检测内存工具比如valgrind等,可以监控程序运行中详细的内存信息,从而精确定位内存问题.然而随着 ...

  5. html5 3D圣诞树源码

    1. [代码][HTML]代码   <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http ...

  6. java IO流文件的读写具体实例(转载)

    引言: 关于java IO流的操作是非常常见的,基本上每个项目都会用到,每次遇到都是去网上找一找就行了,屡试不爽.上次突然一个同事问了我java文件的读取,我一下子就懵了第一反应就是去网上找,虽然也能 ...

  7. 【Selenium】跳转问题

    /** * rewrite the get method, adding user defined log</BR> * 地址跳转方法,使用WebDriver原生get方法,加入失败重试的 ...

  8. the art of seo(chapter three)

    SEO Planning: Customizing Your Strategy ***Developing an SEO Plan Prior to Site Development***Determ ...

  9. codeforces 702A A. Maximum Increase(水题)

    题目链接: A. Maximum Increase time limit per test 1 second memory limit per test 256 megabytes input sta ...

  10. POJ1226(strstr)

    Substrings Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 13348   Accepted: 4722 Descr ...