Java性能问题定位
pursuer211
这个作者很懒,什么都没留下…
展开
-
Java分析系列之三:jstat命令的使用及VM Thread分析
前面提到了一个使用jstack的shell脚本,通过命令可以很快地定位到指定线程对应的堆栈信息。目录 [隐藏]1 使用jstat命令 2 JVM内存模型 3 JVM内存参数设置 3.1 堆内存设置 3.2 非堆内存设置 4 日志分析使用jstat命令当服务器CPU100%的时候,通过定位占用资源最大的线程定位到 VM Thread:"VM Thread" pri...转载 2018-11-09 09:44:09 · 1013 阅读 · 0 评论 -
Java分析系列之四:jstack生成的Thread Dump日志线程状态
前面文章中只分析了Thread Dump日志文件的结构,今天针对日志文件中 Java EE middleware, third party & custom application Threads 部分线程的状态进行详细的分析。目录 [隐藏]1 Thread Dump日志的线程信息 2 系统线程状态 (Native Thread Status) 2.1 deadlock 2...转载 2018-11-09 09:47:59 · 1143 阅读 · 0 评论 -
Java分析系列之五:常见的Thread Dump日志案例分析
我们在上篇文章中详细描述了Thread Dump中Native Thread和JVM Thread线程的各种状态及描述,今天总结分析的一些原则,并详细列举一些案例进行说明。目录 [隐藏]1 症状及解决方案 1.1 CPU占用率很高,响应很慢 1.2 CPU占用率不高,但响应很慢 2 关注点概况 2.1 系统线程状态为 deadlock 2.2 系统线程状态为 waiti...转载 2018-11-09 09:50:16 · 1026 阅读 · 0 评论 -
Java分析系列之六:JVM Heap Dump(堆转储文件)的生成和MAT的使用
前面的文章详细讲述了分析Thread Dump文件,实际在处理Java内存泄漏问题的时候,还需要分析JVM堆转储文件来进行定位。目录 [隐藏]1 JVM Heap Dump(堆转储文件)的生成 1.1 使用 jmap 命令生成 1.2 使用 JConsole 生成 1.3 在JVM中增加参数生成 2 常见的Heap Dump文件分析工具 2.1 jhat 2.2 E...转载 2018-11-09 09:53:35 · 2730 阅读 · 0 评论 -
分析系列之一:使用jstack定位线程堆栈信息
基本概念在对Java内存泄漏进行分析的时候,需要对jvm运行期间的内存占用、线程执行等情况进行记录的dump文件,常用的主要有thread dump和heap dump。thread dump 主要记录JVM在某一时刻各个线程执行的情况,以栈的形式显示,是一个文本文件。通过对thread dump文件可以分析出程序的问题出现在什么地方,从而定位具体的代码然后进行修正。thread dump...转载 2018-11-08 16:17:42 · 1916 阅读 · 0 评论 -
分析系列之二:jstack生成的Thread Dump日志结构解析
上一篇文章讲述了如何使用jstack生成日志文件,这篇文章首先对Thread Dump日志文件的结构进行分析。目录 [隐藏]1 第一部分:Full thread dump identifier 2 第二部分:Java EE middleware, third party & custom application Threads 3 第三部分:HotSpot VM Thread...转载 2018-11-08 16:23:33 · 1479 阅读 · 0 评论