码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • [JVM] 应用诊断工具之Fastthread(在线诊断)


    目录

    • 0 序言
    • 1 操作使用
      • Step1 上传thread-dump文件,等待解析完成
      • Step2 分析页面
        • Step2.1 Thread Dump - Intelligence Report(线程Dump - 智能报告) Tab
        • Step2.2 Total Threads count(总线程数统计) Tab
        • Step2.3 Thread Pools(线程池) Tab
        • Step2.4 Daemon vs non-Daemon(守护线程 vs 非守护线程) Tab
        • Step2.5 Threads with identical stack trace(具有相同堆栈跟踪的线程) Tab
        • Step2.6 Last executed methods(最近执行的方法) Tab
        • Step2.7 CPU consuming threads(消耗CPU的线程) Tab
        • Step2.8 Blocking Threads - Transitive Graph(阻塞线程-传递图) Tab
        • Step2.9 GC Thread(GC线程) Tab
        • Step2.10 Threads Stack Length(线程栈的长度) Tab
        • Step2.11 Complex Deadlock(复杂的死锁) Tab
        • Step2.12 Deadlock(死锁) Tab
        • Step2.13 Finalizer Thread(终结器线程) Tab
        • Step2.14 Exception(异常) Tab
        • Step2.15 Flame Graph(火焰图像) Tab
        • Step2.16 Bottom up Call Stack Tree(自底向上调用堆栈树) Tab
        • Step2.17 My Patterns(Βeta)(我的模式(BETA)) Tab
    • X 参考文献
    回到顶部(Back to Top)

    0 序言

    • 背景

    近期生产系统遇到了一个线程方面的问题,目前根因已定位到。现将fastthread这一Java应用【线程诊断】工具做一小结,便于以后快速使用

    • 博主我遇到的线程问题:java.lang.OutOfMemoryError: unable to create new native thread

    java.lang.OutOfMemoryError 有 8 种类型。这8种类型中java.lang.OutOfMemoryError: unable to create new native thread 是常见的类型之一。OutOfMemoryError当应用程序无法创建新线程时会生成这种类型。
    由于以下两个原因,可能会出现此错误:

    • 内存中没有空间容纳新线程。
    • 线程数超出操作系统限制。

    • FastThread

      • FastThread是一款针对Java线程分析的工具,可以帮助用户分析线程转储文件,查找线程问题,识别性能瓶颈等。
      • https://fastthread.io/
    • 补充说明:

    • 如果你已获取到java应用程序的thread dump文件,其实通过人工分析该文件也能分析出不少问题。

    如何人工分析thread dump文件?参见:[JVM] Java Thread Dump 分析 - 博客园/千千寰宇

    • FastThread 只是将thread dump文件的内容进行了统计性质的【数据可视化分析】,这么看你就理解了。
    • Fastthread是一个Web在线分析工具,而非本地离线的分析工具,如果有这方面担忧的,请放弃使用。
      绝大多数情况下,thread dump也不会泄露什么机密。里面全都是堆栈信息,你自己打开细看便知~
    回到顶部(Back to Top)

    1 操作使用

    Step1 上传thread-dump文件,等待解析完成

    解析成功后,自动跳转至 Step2的分析页面

    https://fastthread.io/ft-thread-report.jsp

    Step2 分析页面

    • Thread Dump - Intelligence Report / Thread Count Summary / Total Threads count / Thread Pools /

    各个Tab详细看看:

    Step2.1 Thread Dump - Intelligence Report(线程Dump - 智能报告) Tab

    Step2.2 Total Threads count(总线程数统计) Tab

    Step2.3 Thread Pools(线程池) Tab

    Step2.4 Daemon vs non-Daemon(守护线程 vs 非守护线程) Tab

    Step2.5 Threads with identical stack trace(具有相同堆栈跟踪的线程) Tab

    点击【WARN】提示的 their stack trace链接:

    Step2.6 Last executed methods(最近执行的方法) Tab

    Step2.7 CPU consuming threads(消耗CPU的线程) Tab

    Step2.8 Blocking Threads - Transitive Graph(阻塞线程-传递图) Tab

    Step2.9 GC Thread(GC线程) Tab

    Step2.10 Threads Stack Length(线程栈的长度) Tab

    Step2.11 Complex Deadlock(复杂的死锁) Tab

    Step2.12 Deadlock(死锁) Tab

    Step2.13 Finalizer Thread(终结器线程) Tab

    Step2.14 Exception(异常) Tab

    Step2.15 Flame Graph(火焰图像) Tab

    Step2.16 Bottom up Call Stack Tree(自底向上调用堆栈树) Tab


    Step2.17 My Patterns(Βeta)(我的模式(BETA)) Tab

    回到顶部(Back to Top)

    X 参考文献

    • Fastthread 【推荐】
    • Troubleshoot OutOfMemoryError: Unable to Create New Native Thread - Dzone.com 【推荐】

    排除/解决 OutOfMemoryError:无法创建新的本机线程

    • [JVM] Java Thread Dump 分析 - 博客园/千千寰宇 【推荐】
  • 相关阅读:
    华为HCDA论证教程
    文档的重要性及接口文档模板
    Java语言数组
    看完这篇 教你玩转ATT&CK红队评估实战靶场Vulnstack(三)
    Linux Centos7安装后,无法查询到IP地址,无ens0,只有lo和ens33的解决方案
    数据库错误知识集2
    pytorch无法使用cuda
    NSSCTF第13页(1)
    基于JavaSwing开发小区物业信息房屋出租管理系统 课程设计 大作业
    互联网摸鱼日报(2022-11-02)
  • 原文地址:https://www.cnblogs.com/johnnyzen/p/17890873.html
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号