首先明确一下线程在JVM中的各个状态(JavaCore文件中) 1.死锁,Deadlock(重点关注)? 2.执行中,Runnable(重点关注) ?? 3.等待资源,Waiting on condition(重点关注)? 4.等待监控器检查资源,Waiting on ...
分类:
编程语言 时间:
2015-03-19 22:18:53
阅读次数:
206
Javacore 是一个当前 JVM 运行状态的快照。通过对Javacore 的分析,可以了解在 JVM 中运行的应用程序的当前状态,比如是否“卡”在某一点上,或在某些代码上运行时间太长。Javacore 的基本内容 Javacore,也可以称为“threaddump”或是“javadump”...
分类:
编程语言 时间:
2015-01-22 14:44:09
阅读次数:
261
Javacore 是一个当前 JVM 运行状态的快照。通过对Javacore 的分析,可以了解在 JVM 中运行的应用程序的当前状态,比如是否“卡”在某一点上,或在某些代码上运行时间太长。Javacore 的基本内容 Javacore,也可以称为“threaddump”或是“javadump”...
分类:
编程语言 时间:
2015-01-22 12:41:17
阅读次数:
315
功能用于生成虚拟机当前时刻的线程快照(一般称为threaddump或javacore文件)。线程快照就是当前虚拟机内每一条线程正在执行的方法堆栈的集合,生成线程快照的主要目的是定位线程出现长时间停顿的原因,如线程间死锁、死循环、请求外部资源导致的长时间等待等都是导致线程长时间停顿的常见原因。线程出现...
分类:
编程语言 时间:
2015-01-04 16:50:40
阅读次数:
175
当两个或多个线程彼此形成循环依赖关系时,就出现了死锁。例如,如果线程 A 处于等待线程 B 的等待状态,而同时线程 B 处于等待线程 A 的等待状态,则出现了死锁。一旦形成此情况,线程 A 和线程 B 都不能有任何进展,因为这两个线程现在都无限期地挂起了。为什么会有人创建这种系统?当然,您并不会有意...
分类:
编程语言 时间:
2014-12-14 18:33:29
阅读次数:
304
fileclear.shtamcdir=${HOME}/ora/user_projects/domains/tamccd ${tamcdir}echo rm -f `ls heapdump*.phd`rm -f heapdump*.phdecho rm -f `ls javacore*.txt`rm...
分类:
系统相关 时间:
2014-08-23 09:53:10
阅读次数:
274
压力测试tps性能下降问题解决方案
背景
测力测试时反映tps一直下滑的问题,为了重现该问题,开发一个简单交易进行测试,测试代码如下
录制该交易脚本,并放在LoadRunner11中进行测试,场景为10个用户同时启动并持续的跑。可以看到1分钟之后tps开始下降,并在后期持续下降。
此时分析服务端日志、javacore、heapdump、gc等,并未发现异常现象。修改服务...
分类:
其他好文 时间:
2014-08-21 21:17:14
阅读次数:
558
给一个系统定位问题的时候,知识、经验是关键基础,数据是依据,工具是运用知识处理数据的手段。这里的数据包括:运行日志、异常堆栈、GC日志、线程快照(threaddump/javacore文件)、堆转储快照(heapdump/hpro...
分类:
编程语言 时间:
2014-08-19 16:58:05
阅读次数:
229
现象生产环境和测试环境都发现有个外围应用通过搜索服务调用搜索引擎时,偶尔会出现大量的访问超时的问题,通过如下方式进行分析排查:l 首先是拿到搜索服务的JavaCore,发现其堵在HttpClient的发送上面,被堵的连接有数百个,原因是不能够从连接池中获取到连接;l 首先想到的就是连接池没有释放,检查代码,也确实存在着一些调用没有释放连接,特别是在异常的情况下,针对这一部分代码进行修复后,可是一段...
分类:
其他好文 时间:
2014-07-04 09:20:53
阅读次数:
511