Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >JVM性能调优-实战应⽤之使⽤虚拟机⼯具JSTACK

JVM性能调优-实战应⽤之使⽤虚拟机⼯具JSTACK

作者头像
cwl_java
发布于 2019-12-19 15:41:51
发布于 2019-12-19 15:41:51
5350
举报
文章被收录于专栏:cwl_Javacwl_Java

Jstack是什么

  • **Jstack (Stack Trace for Java)**命令⽤于⽣成虚拟机当前时刻的线程快照(-般称为thread dump 或者 java core ⽂件)
  • 线程快照就是当前虚拟机内每⼀条线程正在执⾏的⽅法堆栈的集合,⽣成线程快照的主要⽬的是定位线程出现⻓时间停顿的原因,如线程间死锁、死循环、请求外部资源导致的⻓时间等待等都是导致线程⻓时间停顿的常⻅原因。线程出现停顿的时候通过 jstack 来查看各个线程的调⽤堆栈,就可以知道没有响应的线程到底在后台做些什么事情,或者等待着什么资源

Jstack怎么做

  • 常⽤命令 jstack -l 3500
  • jstack -F 当正常输出的请求不被响应时,强制输出线程堆栈 Force

线上程序⼀般不能kill进程pid的⽅式直接关闭

shutdownHook :在关闭之前执⾏的任务

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
jstack:java 堆栈工具
生成线程快照的主要目的就是定位线程出现长时间停顿的原因,如线程死锁,死循环请求外部资源导致的长时间等待等都是导致线程长时间停顿的常见原因。线程出现停顿的时候通过jstack来查看各个线程的调用堆栈,就可以知道没有响应的线程到底在后台做些什么事情,或者等待着什么资源。
爱明依
2019/03/12
2.5K0
深入理解JVM(③)虚拟机性能监控、故障处理工具
JDK的bin目录中有一系列的小工具,除了java.exe、javac.exe这两个编译和运行Java程序外,还有打包、部署、签名、调试、监控、运维等各种场景都会用到这些小工具。
纪莫
2020/06/23
6520
虚拟机性能监控与故障处理工具
常用的命令行工具主要有 jps、jstat、jinfo、jmap、jhat、jstack。
Li_XiaoJin
2022/06/10
4650
虚拟机性能监控与故障处理工具
Java“魔法”-jstack命令解析
在介绍jstack之前,先简单介绍一下jps。因为jps使用相对简单,各位看官看一下便知。
全栈程序员站长
2022/07/20
8230
Java“魔法”-jstack命令解析
JVM系列八(虚拟机性能监控命令).
JVM Process Status Tool,显示指定系统内所有的 HotSpot 虚拟机进程。显示信息包括虚拟机执行主类名称以及这些进程的本地虚拟机唯一ID(Local Virtual Machine Identifier,LVMID)。
JMCui
2020/03/17
4970
JVM系列八(虚拟机性能监控命令).
JDK自带JVM调优工具,一次性打包讲给你听
前面已经讲过了jps和jstat调优工具。今天我们继续说一下其它4个工具。这些工具都在jdk的bin目录下。
田维常
2020/11/19
7560
JDK自带JVM调优工具,一次性打包讲给你听
给你的Java程序拍个片子吧:jstack命令解析
如果有一天,你的Java程序长时间停顿,也许是它病了,需要用jstack拍个片子分析分析,才能诊断具体什么病症,是死锁综合征,还是死循环等其他病症,本文我们一起来学习jstack命令~
捡田螺的小男孩
2020/05/17
3K0
JDK常用命令行工具
“ 给一个系统定位问题的时候,知识、经验是关键基础,数据是依据,工具是运用知识处理数据的手段。这里的数据包括:运行日志、异常堆栈、GC日志、线程快照(threaddump/javacore文件)、堆转储快照(heapdump/hprof文件)等。经常使用适当的虚拟机监控和分析的工具可以加快我们分析数据和定位解决问题的速度,但我们在学习工具前,也应当意识到工具永远都是知识技能的一层包装,没有什么工具是“秘密武器”,学会了就能包医百病”
每天学Java
2020/06/02
1.3K0
《深入理解Java虚拟机》读书笔记(四)–虚拟机性能监控与故障处理工具
可以列出正在运行的虚拟机进程,并显示虚拟机执行主类名称(main函数所在类)以及这些进程的本地虚拟机唯一ID(Local Virtual Machine Identifier,LVMID)。其常用选项见下表;
Java架构师必看
2021/11/29
5930
Java 线程调优 JDK常用命令行工具 Jstack & Arthas使用笔记 查找耗时线程
jps(JVM Process Status) 命令类似 UNIX 的 ps 命令。
大鹅
2021/06/02
3.2K0
深入理解Java虚拟机:Jvm性能调优
到目前为止,我们已经对 Jvm 进行了简单的了解,知道了 Jvm 运行时各种各样的内存结构,各种垃圾回收机制以及各种对应的垃圾收集器及其配置。而我们整个 Jvm 系列的最终目标不当仅仅以了解基础理论为终点,理论总应作为实践的工具。接下来,我们开始了解 Java 性能优化的最后一环:Jvm 性能调优。
栗筝i
2022/12/01
1.3K0
JVM性能调优篇
GC 优化的基本原则是:将不同的 GC 参数应用到两个及以上的服务器上然后比较它们的性能,然后将那些被证明可以提高性能或减少 GC 执行时间的参数应用于最终的工作服务器上。
李红
2019/05/29
9830
JVM07-虚拟机故障处理命令行工具
这篇文章将介绍用来排查处理虚拟机故障的一些常用的命令行工具。因为如果我们要对JVM进行调优时,必须要通过这些工具分析虚拟机的运行状态。
码农飞哥
2021/08/18
4210
JVM 问题排查工具
Java 开发人员肯定都知道 JDK的 bin 目录中有 “java.exe”、“javac.exe” 这两个命令行工具。下面主要介绍一些监视虚拟机和故障处理的工具。
Java架构师必看
2021/05/14
5690
JVM 问题排查工具
再也不怕面试官问性能分析了
有时候碰到服务器CPU飙升或者程序卡死之类的问题,一般都不太好定位。这类bug一般都隐藏的比较深并且还可能是偶发性的,比较棘手。
秃头哥编程
2022/03/30
8280
再也不怕面试官问性能分析了
JVM性能调优-实战应⽤之使⽤虚拟机⼯具JPS
**JPS (JVM Process Status Tool)**是其中的典型jvm⼯具。除了名字像 UNIX 的 ps 命令之外,它的功能也和 ps 命令类似:可以列出正在运⾏的虚拟机进程,并显示虚拟机执⾏主类(Main Class, main()函数所在的类)名称以及这些进程的本地虚拟机唯- ID (Local VirtualMachine Identifier, LVMID),虽然功能⽐较单⼀,但它是使⽤频率最⾼的 JDK 命令⾏⼯具
cwl_java
2019/12/20
4450
JVM调优工具总结「建议收藏」
它可以列出正在运行的虚拟机进程,并显示虚拟机执行主类(Main Class,main()函数所在的类)名称以及正在运行的本地虚拟机唯一ID(LVMID);
全栈程序员站长
2022/08/23
1.7K0
JVM调优工具总结「建议收藏」
JVM之jstack的使用和解析
有些时候我们需要查看下jvm中的线程执行情况,比如,发现服务器的CPU的负载突然增高了、出现了死锁、死循环等,我们该如何分析呢? 由于程序是正常运行的,没有任何的输出,从日志方面也看不出什么问题,所以就需要看下jvm的内部线程的执行情况,然后再进行分析查找出原因。 这个时候,就需要借助于jstack命令了,jstack的作用是将正在运行的jvm的线程情况进行快照,并且打印出来。 jstack是jdk自带的线程堆栈分析工具,使用该命令可以查看或导出 java 应用程序中线程堆栈信息。 jstack用于生成java虚拟机当前时刻的线程快照。线程快照是当前java虚拟机内每一条线程正在执行的方法堆栈的集合,生成线程快照的主要目的是定位线程出现长时间停顿的原因,如线程间死锁、死循环、请求外部资源导致的长时间等待等。 线程出现停顿的时候通过jstack来查看各个线程的调用堆栈,就可以知道没有响应的线程到底在后台做什么事情,或者等待什么资源。 如果java程序崩溃生成core文件,jstack工具可以用来获得core文件的java stack和native stack的信息,从而可以轻松地知道java程序是如何崩溃和在程序何处发生问题。另外,jstack工具还可以附属到正在运行的java程序中,看到当时运行的java程序的java stack和native stack的信息, 如果现在运行的java程序呈现hung的状态,jstack是非常有用的。
共饮一杯无
2022/11/28
1.3K0
JVM之jstack的使用和解析
JDK监控和故障处理工具总结
jps(JVM Process Status) 命令类似 UNIX 的 ps 命令。
Vincent-yuan
2021/09/08
3840
Java的jstack命令使用详解
jstack(Java Virtual Machine Stack Trace)是JDK提供的一个可以生成Java虚拟机当前时刻的线程快照信息的命令行工具。线程快照一般被称为threaddump或者javacore文件,是当前Java虚拟机中每个线程正在执行的Java线程、虚拟机内部线程和可选的本地方法堆栈帧的集合。对于每个方法栈帧,将会显示完整的类名、方法名、字节码索引(bytecode index,BCI)和行号。生成的线程快照可以用于定位线程出现长时间停顿的原因,比如:线程间死锁、死循环、请求外部资源被长时间挂起等等。
万猫学社
2022/04/22
2.8K0
Java的jstack命令使用详解
相关推荐
jstack:java 堆栈工具
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档