Java 分析工具汇总
http://blog.csdn.net/fenglibing/article/details/6411999
jps
jps -mlvV
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 分析工具汇总的更多相关文章
- (转)超全整理!Linux性能分析工具汇总合集
超全整理!Linux性能分析工具汇总合集 原文:http://rdc.hundsun.com/portal/article/731.html 出于对Linux操作系统的兴趣,以及对底层知识的强烈欲望, ...
- Linux下性能分析工具汇总
来自:http://os.51cto.com/art/201104/253114.htm 本文讲述的是:CPU性能分析工具.Memory性能分析工具.I/O性能分析工具.Network性能分析工具. ...
- Linux 性能分析工具汇总合集
出于对Linux操作系统的兴趣,以及对底层知识的强烈欲望,因此整理了这篇文章.本文也可以作为检验基础知识的指标,另外文章涵盖了一个系统的方方面面.如果没有完善的计算机系统知识,网络知识和操作系统知识, ...
- [转]Linux性能分析工具汇总合集
出于对Linux操作系统的兴趣,以及对底层知识的强烈欲望,因此整理了这篇文章.本文也可以作为检验基础知识的指标,另外文章涵盖了一个系统的方方面面.如果没有完善的计算机系统知识,网络知识和操作系统知识, ...
- 超全整理!Linux性能分析工具汇总合集
转自:http://rdc.hundsun.com/portal/article/731.html?ref=myread 出于对Linux操作系统的兴趣,以及对底层知识的强烈欲望,因此整理了这篇文章. ...
- Java开发工具汇总
1. Arthas 是Alibaba开源的Java诊断工具 Java动态追踪,对生产环境出现出现bug的情况下,无法调试处理问题,可以借鉴该工具进行问题分析. 原理介绍:Java动态追踪技术探究 Ar ...
- java分析工具arthas
wget https://alibaba.github.io/arthas/arthas-boot.jar java -jar arthas-boot.jar --target-ip 0.0.0.0
- Java 性能分析工具 , 第 2 部分:Java 内置监控工具
引言 本文为 Java 性能分析工具系列文章第二篇,第一篇:操作系统工具.在本文中将介绍如何使用 Java 内置监控工具更加深入的了解 Java 应用程序和 JVM 本身.在 JDK 中有许多内置的工 ...
- 9个Java性能优化工具汇总
本文来自blog.idrsolutions.com 1.NetBeans profiler NetBeans Profiler是一个模块化的添加,为NetBeans IDE提供分析功能,它是一个开源的 ...
随机推荐
- 谷歌浏览器使用SelectorGadget和Xpath Helper获取xpath和css path
在上篇文章里,介绍了如何在火狐浏览器中获取网页元素的xpath和css path. 这篇文章将介绍,在谷歌浏览器中使用SelectorGadget和Xpath Helper实现同样功能. 这两个谷歌浏 ...
- 解密阿里云Redis助力双十一背后的技术
摘要: Redis是一个使用范围很广的NOSQL数据库,阿里云Redis同时在公有云和阿里集团内部进行服务,本文介绍了阿里云Redis双11的一些业务场景:微淘社区之亿级关系链存储.天猫直播之评论商品 ...
- Appnium安装-Mac平台
Appium的安装-MAC平台 其实Appium的安装方式主要有两种: 1)自己安装配置nodejs的环境,然后通过npm进行appium的安装 2)直接下载官网提供的dmg进行安装,dmg里面已 ...
- c/c++通用内存泄漏检测框架GMFD(General Memory Fault Detection Framework)
http://qa.baidu.com/blog/?p=171 1 背景: x86平台有完善的用户态检测内存工具比如valgrind等,可以监控程序运行中详细的内存信息,从而精确定位内存问题.然而随着 ...
- html5 3D圣诞树源码
1. [代码][HTML]代码 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http ...
- java IO流文件的读写具体实例(转载)
引言: 关于java IO流的操作是非常常见的,基本上每个项目都会用到,每次遇到都是去网上找一找就行了,屡试不爽.上次突然一个同事问了我java文件的读取,我一下子就懵了第一反应就是去网上找,虽然也能 ...
- 【Selenium】跳转问题
/** * rewrite the get method, adding user defined log</BR> * 地址跳转方法,使用WebDriver原生get方法,加入失败重试的 ...
- the art of seo(chapter three)
SEO Planning: Customizing Your Strategy ***Developing an SEO Plan Prior to Site Development***Determ ...
- codeforces 702A A. Maximum Increase(水题)
题目链接: A. Maximum Increase time limit per test 1 second memory limit per test 256 megabytes input sta ...
- POJ1226(strstr)
Substrings Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 13348 Accepted: 4722 Descr ...