现实企业级Java开发中,有时候我们会碰到下面这些问题: OutOfMemoryError,内存不足 内存泄露 线程死锁 锁争用(Lock Contention) Java进程消耗CPU过高 ...... OutOfMemoryError,内存不足 内存泄露 线程死锁 锁争用(Lock Conten ...
分类:
Web程序 时间:
2017-11-09 19:37:47
阅读次数:
253
1、先通过top命令找到消耗cpu很高的进程id假设是11876 2、执行top -p 11876单独监控该进程 3、在第2步的监控界面输入H,获取当前进程下的所有线程信息 4、找到消耗cpu特别高的线程编号,假设是11354 5、执行jstack 11876对当前的进程做dump,输出所有的线程信 ...
分类:
系统相关 时间:
2017-11-03 23:59:09
阅读次数:
401
1.jstat -gc 10098 S0C S1C S0U S1U EC EU OC OU MC MU CCSC CCSU YGC YGCT FGC FGCT GCT 56320.0 93184.0 56064.5 0.0 1098240.0 941742.1 479232.0 164843.3 1 ...
分类:
编程语言 时间:
2017-10-28 18:56:18
阅读次数:
216
JVM性能调优监控工具jps、jstack、jmap、jhat、jstat、hprof使用详解 - 实例分析 原文 http://josh-persistence.iteye.com/blog/2161848 原文 http://josh-persistence.iteye.com/blog/216 ...
分类:
Web程序 时间:
2017-10-27 17:53:43
阅读次数:
3258
top -c 命令查找进程PID top -Hp PID 找进程中的线程号 echo %x 线程号 将线程转换成16进制 jstack PID |grep 线程ID转换的4位16进制数 -C5 --color找到线程 top -c 命令查找进程PID top -Hp PID 找进程中的线程号 ech ...
分类:
编程语言 时间:
2017-10-24 01:42:21
阅读次数:
341
周末看到一个用jstack查看死锁的例子。昨天晚上总结了一下jstack(查看线程)、jmap(查看内存)和jstat(性能分析)命令。供大家参考 1.Jstack 1.1 jstack能得到运行java程序的java stack和native stack的信息。可以轻松得知当前线程的运行情况。如下 ...
分类:
编程语言 时间:
2017-09-29 01:39:43
阅读次数:
283
一、排查过程 1:查看机器监控,初步判断可能有耗CPU的线程 2:导出jstack,发现有大量的RUNNABLE线程,都在java-NIO,之前看过下面http://bugs.java.com/bugdatabase/view_bug.do?bug_id=6403933这篇文章,感觉是这个BUG,由 ...
分类:
其他好文 时间:
2017-09-28 14:05:27
阅读次数:
159
获取进程id:ps -ef | grep 'tomcat' 分析线程:jstack -l <pid> > 1.txt 分析内存:jmap -heap <pid> 分析发现线程并没有死锁,内存也没满。通过测试程序,发现同事用的httpclient工具包没有设置超时时间,当网络异常的时候,就一直不返回, ...
分类:
其他好文 时间:
2017-09-23 12:26:59
阅读次数:
180
Java线程的生命周期中,存在几种状态。在Thread类里有一个枚举类型State,定义了线程的几种状态,分别有: 下面通过几个例子再次说明一下在什么情况下,线程会处于这几种状态: NEW状态 NEW状态比较简单,实例化一个线程之后,并且这个线程没有开始执行,这个时候的状态就是NEW: RUNNAB ...
分类:
编程语言 时间:
2017-09-16 18:44:59
阅读次数:
287
某天发现线上crm机器cpu100%了,估计是哪里写了个死循环,用jstack看了下 定位到 at com.upg.ucars.framework.interceptor.AsyncInterceptor.actionIsLocked(AsyncInterceptor.java:71)这一句 相关的 ...
分类:
其他好文 时间:
2017-09-15 13:40:38
阅读次数:
154