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提供分析功能,它是一个开源的 ...
随机推荐
- Windows server 2008 R2 如何启动任务计划程序
使用windows server 2008 R2 的任务计划程序需要启动服务 Task Scheduler 服务, windows server 2008 R2 默认状态下Task Schedule ...
- MSVC环境,Qt代码包含中文无法通过构建的解决方案
将代码文件的编码更改为ANSI(方便起见,将Qt Creator的Text Editor默认编码改为System) 这样就可以通过构建,不过会出现中文乱码的问题 还需要使用QStringLiteral ...
- Qtree3
题目描述 给出N个点的一棵树(N-1条边),节点有白有黑,初始全为白 有两种操作: 0 i : 改变某点的颜色(原来是黑的变白,原来是白的变黑) 1 v : 询问1到v的路径上的第一个黑点,若无,输出 ...
- Machine Learning in Action(1) K-近邻
机器学习分两大类,有监督学习(supervised learning)和无监督学习(unsupervised learning).有监督学习又可分两类:分类(classification.)和回归(r ...
- matlab面向对象设计---类的概念和使用
代码: classdef MadgwickAHRS < handle %MADGWICKAHRS Implementation of Madgwick's IMU and AHRS algori ...
- HDU4372 Count the Buildings —— 组合数 + 第一类斯特林数
题目链接:https://vjudge.net/problem/HDU-4372 Count the Buildings Time Limit: 2000/1000 MS (Java/Others) ...
- weixin报警脚本
#!/bin/bash ### script name weixin.sh ### send messages from weixin for zabbix monitor ### jack ### ...
- python 基础之第十二天(re正则,socket模块)
In [14]: 'hello-wold.tar.gz'.split('.') Out[14]: ['hello-wold', 'tar', 'gz'] In [15]: import re In [ ...
- Preface Numbering
链接 分析:先打表需要用到的罗马数字,然后暴力转换,最后统计一下即可 /* PROB:preface ID:wanghan LANG:C++ */ #include "iostream&qu ...
- node之get与post
Get获取内容: var http=require('http'), util=require('util'),//util 提供常用函数集合 url=require('url'); http.cre ...