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. Linux就该这么学--命令集合2(系统状态检测命令)

    1.查看本机当前的网卡配置与网络状态等信息:(ifconfig [网络设备] [参数]) ifconfig 2.查看系统的内核名称.内核发行版.内核版本.节点名.硬件名称.硬件平台.处理器类型.操作系 ...

  2. java 浮点数

    package precisenumber; //import java.util.*;public class PreciseNumber { public int fore; public int ...

  3. CSU - 1529 Equator —— DP 最大连续和子序列

    题目链接:http://acm.csu.edu.cn/csuoj/problemset/problem?pid=1529 题解: 一个加强版的最大连续和子序列,序列可以从末尾元素转到首元素. 分两种情 ...

  4. HDU1873 看病要排队 —— 优先队列(STL)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1873 题解: 题目已经说出了解题方法:优先队列.但是之前没有学过优先队列,而且这题还是在现场赛做的.由 ...

  5. BestCoder Round #92 1002 Count the Sheep —— 枚举+技巧

    题目链接:http://bestcoder.hdu.edu.cn/contests/contest_showproblem.php?cid=748&pid=1002 题解: 做题的时候只是想到 ...

  6. MySQL学习笔记(三)——计算字段及常用函数

    拼接字段-Concat()函数        将值连接在一起构成单个值.注意:大多数DBMS使用+或者||来实现拼接,mysql则使用Concat()函数来实现. 去空格函数-Trim函数       ...

  7. 专网IP和公网IP的区别是什么

    专网ip是自己网内用,公网的话就全球有效 最大区别是公网IP世界只有一个,私网IP可以重复,但是在一个局域网内不能重复 访问互联网是需要IP地址的,IP地址又分为公网IP和私网IP,访问互联网需要公网 ...

  8. codevs 1046 旅行家的预算

    传送门 1046 旅行家的预算 1999年NOIP全国联赛普及组NOIP全国联赛提高组  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold题解   题目描述 Des ...

  9. vue 路由监听

    发现网上其实有很多种答案,但是测试之后发现很多都不行,或者写的不完整. 一.在app.vue组件内,增加监听$route,如下: watch: { $route(to, from) { console ...

  10. C++可移植性和跨平台初探

    概述 今天聊聊C++的可移植性问题.如果你平时使用C++进行开发,并且你对C++的可移植性问题不是非常清楚,那么我建议你看看这个系列.即使你目前没有跨平台开发的需要,了解可移植性方面的知识对你还是很有 ...