JVM监控及诊断工具-命令行篇-jstack命令介绍

加粗样式

JVM监控及诊断工具-命令行篇04-jstack:打印JVM中线程快照

一 基本情况

jstack(JVM Stack Trace):

用于生成虚拟机指定进程当前时刻的线程快照(虚拟机堆栈跟踪)。 线程快照就是当前虚拟机内指定进程的每一条线程正在执行的方法堆栈的集合。

生成线程快照的作用:

可用于定位线程出现长时间停顿的原因如线程间死锁、死循环、请求外部资源导致的长时间等待等问题。这些都是导致线程长时间停顿的常见原因。当线程出现停顿时,就可以用jstack显示各个线程调用的堆栈情况。 官方帮助文档:

在thread dump中,要留意下面几种状态

  • 死锁,Deadlock(重点关注)
  • 等待资源,Waiting on condition(重点关注
  • 等待获取监视器,Waiting on monitor entry(重点关注)
  • 阻塞,Blocked(重点关注)
  • 执行中,Runnable
  • 暂停,Suspended
  • 对象等待中,Object.wait() 或 TIMED_WAITING
  • 停止,Parked

二 基本语法

它的基本使用语法为:jstack option pid jstack管理远程进程的话,需要在远程程序的启动参数中增加:

-Djava.rmi.server.hostname=.
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=888
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false 

在这里插入图片描述

上一篇
JVM监控及诊断工具-命令行篇-jmap命令介绍

相关推荐

  1. 面板小程序命令工具介绍

    2024-07-21 00:14:01       54 阅读
  2. MySQL监控诊断:从SHOW命令到第三方监控工具

    2024-07-21 00:14:01       34 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-21 00:14:01       106 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-21 00:14:01       116 阅读
  3. 在Django里面运行非项目文件

    2024-07-21 00:14:01       95 阅读
  4. Python语言-面向对象

    2024-07-21 00:14:01       103 阅读

热门阅读

  1. std::bind 简单实验

    2024-07-21 00:14:01       28 阅读
  2. 中电金信:语言服务游戏行业解决方案

    2024-07-21 00:14:01       28 阅读
  3. 数据库之数据类型

    2024-07-21 00:14:01       26 阅读
  4. 代码保存板块

    2024-07-21 00:14:01       29 阅读
  5. Git 代码管理面试59题(一)

    2024-07-21 00:14:01       27 阅读
  6. Kudu节点数规划

    2024-07-21 00:14:01       30 阅读
  7. Emacs

    2024-07-21 00:14:01       26 阅读
  8. 提升 Google 对网站兴趣的关键:颜值与内容并重

    2024-07-21 00:14:01       19 阅读
  9. 【js自学打卡8】filter / 类与原型链 / 转字符串

    2024-07-21 00:14:01       31 阅读
  10. 2024年交安安全员考试题库及答案

    2024-07-21 00:14:01       23 阅读
  11. [C/C++入门][for]23、求阶乘

    2024-07-21 00:14:01       30 阅读
  12. [rustlings]13_error_handling

    2024-07-21 00:14:01       26 阅读