jmap -heap -histo -dump jhat Jstat Jstat –gcutil 2721 打印时间 打印次数 Jstack 消耗cpu高的进程,此java进程pid为3227 Jstack 3227 System消耗高的话,是否是io瓶颈(iostat,看队列);需要跟踪系统内核调...
分类:
Web程序 时间:
2015-01-26 14:54:31
阅读次数:
231
最近一段时间,我们的生产系统升级频繁出现故障,具体故障现象是启动后10来分钟就出现交易缓慢,处理线程耗尽等现象,并且故障发生的频率蛮高的。经过详细的诊断和排查,终于发现了问题,是groovy在osgi中运行会出现classloader死锁,最后我们也解决了这个问题。 如果单靠通过查看代码是很...
分类:
编程语言 时间:
2015-01-23 18:17:38
阅读次数:
202
Jmap是JDK自带的一个轻量级小工具。位于java的bin目录下,它能够打印出某个java进程(使用pid)内存中所有‘对象’的情况(如:产生那些对象,及其数量)。它不仅可以输出所有内存中对象的工具,甚至可以将VM 中的heap,以二进制输出成文本。使用方法 jmap -histo pid。也可以将其保存到文本中去,在一段时间后,使用文本对比工具,可以对比出GC回收了哪些对象。还可以和jhat ...
分类:
其他好文 时间:
2015-01-21 16:34:44
阅读次数:
199
jstack是java虚拟机自带的一种堆栈跟踪工具。jstack位于java的bin目录下,主要利用JVM内建的指令对Java应用程序的资源和性能进行实时的命令行的监控,包括了对Heap
size和垃圾回收状况的监控。
Jstat可以用来监视VM内存内的各种堆和非堆的大小及其内存使用量。
1、Jstack命令格式
jstack [ option ] pid
2、常用参数
-F当’js...
分类:
Web程序 时间:
2015-01-21 16:34:06
阅读次数:
210
Jhat是JDK自带的一个轻量级小工具。jhat位于java的bin目录下,是用来分析java堆的命令,可以将堆中的对象以html的形式显示出来,包括对象的数量,大小等等,并支持对象查询语言,jhat工具一般和jmap工具配合使用。
1、Jstat命令格式
Jhat dumpFile
2、使用步骤
第一步:导出堆
第二步:分析堆文件
第三步:查看html
有时dump出来的堆很大,在...
分类:
其他好文 时间:
2015-01-21 16:33:55
阅读次数:
197
jps(Java Virtual Machine Process Status Tool)是JDK提供的一个显示当前所有java进程pid的命令,简单实用,非常适合在linux/unix/windows平台上简单察看当前java进程的一些简单情况。
jps它的作用是显示当前JAVA进程的id号,并可通过opt来查看这些进程的详细启动参数。
jps位于jdk的bin目录下。
1、...
分类:
其他好文 时间:
2015-01-20 18:02:38
阅读次数:
172
最近项目中出现了Tomcat占用CPU100%的情况,原以为是代码中出现死循环,后台使用jstack做了dump,发现是系统中不合理使用HashMap导致出现了死循环(注意不是死锁)。 产生这个死循环的根源在于对一个未保护的共享变量 — 一个"HashMap"数据结构的操作。当在所有操作的方法上.....
分类:
编程语言 时间:
2015-01-20 15:32:20
阅读次数:
141
功能用于生成虚拟机当前时刻的线程快照(一般称为threaddump或javacore文件)。线程快照就是当前虚拟机内每一条线程正在执行的方法堆栈的集合,生成线程快照的主要目的是定位线程出现长时间停顿的原因,如线程间死锁、死循环、请求外部资源导致的长时间等待等都是导致线程长时间停顿的常见原因。线程出现...
分类:
编程语言 时间:
2015-01-04 16:50:40
阅读次数:
175
中文的JVM的扩展参数:-X http://www.blogjava.net/beansoft/archive/2012/03/01/371088.html JVM性能调优监控工具jps、jstack、jmap、jhat、jstat、hprof使用详解 http://my.oschina.n...
分类:
其他好文 时间:
2014-12-19 15:40:57
阅读次数:
192
在 sudo -u tomcat 状态下执行1. jstackjstack pid >> file : 打印当前 thread stack 状态CPU 高分析流程使用jstack分析步骤1) top 查看java进程2) top -p -H 查看消耗cpu的线程3) 转为 十六进制4) sudo.....
分类:
编程语言 时间:
2014-12-16 18:48:13
阅读次数:
191