0 序言

  • 背景

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

  • 博主我遇到的线程问题: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/

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

X 参考文献

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

[JVM] 应用诊断工具之Fastthread(在线诊断)的更多相关文章

  1. <JVM下篇:性能监控与调优篇>03-JVM监控及诊断工具-GUI篇

    笔记来源:尚硅谷JVM全套教程,百万播放,全网巅峰(宋红康详解java虚拟机) 同步更新:https://gitee.com/vectorx/NOTE_JVM https://codechina.cs ...

  2. <JVM下篇:性能监控与调优篇>01-概述篇-02-JVM监控及诊断工具-命令行篇

    笔记来源:尚硅谷JVM全套教程,百万播放,全网巅峰(宋红康详解java虚拟机) 同步更新:https://gitee.com/vectorx/NOTE_JVM https://codechina.cs ...

  3. java jvm常用命令工具

    [尊重原创文章出自:http://www.chepoo.com/java-jvm-command-tools.html] 一.概述 程序运行中经常会遇到各种问题,定位问题时通常需要综合各种信息,如系统 ...

  4. jvm系列(七):jvm调优-工具篇

    16年的时候花了一些时间整理了一些关于jvm的介绍文章,到现在回顾起来还是一些还没有补充全面,其中就包括如何利用工具来监控调优前后的性能变化.工具做为图形化界面来展示更能直观的发现问题,另一方面一些耗 ...

  5. java 诊断工具——Arthas

    该说不说!小编做的这些功能,最讨厌的就是优化!某些前辈大佬写的代码小辈我实在不敢恭维!那逻辑!那sql! 接下来!今天的主角就登场了,阿里巴巴最近开源出来的一个针对 java 的工具,主要是针对 ja ...

  6. Alibaba Java诊断工具Arthas之快速安装和简单使用

    Alibaba Java诊断工具Arthas简单介绍 : 当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决: 1.这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception ...

  7. (转)权威支持: 选择正确的 WebSphere 诊断工具

    权威支持: 选择正确的 WebSphere 诊断工具 原文:https://www.ibm.com/developerworks/cn/websphere/techjournal/0807_supau ...

  8. Java虚拟机(六):JVM调优工具

    工具做为图形化界面来展示更能直观的发现问题,另一方面一些耗费性能的分析(dump文件分析)一般也不会在生产直接分析,往往dump下来的文件达1G左右,人工分析效率较低,因此利用工具来分析jvm相关问题 ...

  9. Arthas Alibaba 开源 Java 诊断工具

    Arthas 用户文档 English Docs Arthas(阿尔萨斯) 能为你做什么? Arthas 是Alibaba开源的Java诊断工具,深受开发者喜爱. 当你遇到以下类似问题而束手无策时,A ...

  10. WebSphere应用服务器内存泄漏探测与诊断工具选择最佳实践

    内存泄漏是比较常见的一种应用程序性能问题,一旦发生,则系统的可用内存和性能持续下降:最终将导致内存不足(OutOfMemory),系统彻底宕掉,不能响应任何请求,其危害相当严重.同时,Java堆(He ...

随机推荐

  1. AVR汇编(四):数据传送指令

    AVR汇编(四):数据传送指令 AVR指令主要分为五类:算术和逻辑指令.分支指令.位操作指令.数据传送指令.MCU控制指令,今天我们先来认识其中最常用的数据传送指令. 汇编程序的编写.编译和调试 学习 ...

  2. HDU 3829 Cat VS Dog 猫和狗(二分图)结题报告

    听学长说这道题很ex,但是思路想到的话还是挺简单的. 可能是受上一道题(放置机器人)的启发,也是找互相冲突的点连线. 但是并不是完全一样(废话)放置机器人那道题是找到冲突点连线后直接求最大匹配即可. ...

  3. chatglm2-6b模型在9n-triton中部署并集成至langchain实践

    一.前言 近期, ChatGLM-6B 的第二代版本ChatGLM2-6B已经正式发布,引入了如下新特性: ①. 基座模型升级,性能更强大,在中文C-Eval榜单中,以51.7分位列第6: ②. 支持 ...

  4. 浅谈 Linux 下 vim 的使用

    Vim 是从 vi 发展出来的一个文本编辑器,其代码补全.编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用. Vi 是老式的字处理器,功能虽然已经很齐全了,但还有可以进步的地方.Vim 可 ...

  5. Programming abstractions in C阅读笔记:p139-p143

    <Programming Abstractions In C>学习第55天,p139-p140,总结如下: 一.技术总结 1.文件I/O操作 文件I/O操作可以分为一下这些步骤: (1)声 ...

  6. iOS发送探针日志到日志系统的简单实现

    通过参考Testin的SDK实现方式,我们大致可以确定他们背后的实现方式: 首先,通过加载Testin的SDK,然后收集各种七七八八的数据,再通过socket发送数据到云端. 云端我们已经有了,就是h ...

  7. React仿大众点评外卖app

    主要使用技术: react react-router4 redux: action.reducer.store管理数据 fetch: 进行数据交互 prismjs : 页面嵌入代码,高亮显示插件 bu ...

  8. 拉普拉斯金字塔在多图HDR算法中的应用以及多曝光图像的融合算法简介。

    在SSE图像算法优化系列二十九:基础的拉普拉斯金字塔融合用于改善图像增强中易出现的过增强问题(一) 一文中我们曾经描述过基于几种高频融合法则的拉普拉斯金字塔融合算法,那里是主要针对2副图像的.实际的应 ...

  9. xmind文件数据解析重构成mindmap可识别数据

    [需求背景] 测试平台开发中,需要引入前端mindmap模块,进行在线xmind实时解析并前端展示 [卡点难点] 选取什么库进行xmind解析 如何转换成mindmap可以识别的数据 [xmind解析 ...

  10. Centos7使用s3fs-fuse挂载minio对象存储实践

    Centos7使用s3fs-fuse挂载minio对象存储实践 事前准备 主机可以访问到对象存储API.例如minio默认的9000端口 主机安装好s3fs软件 已在minio上创建存储桶 安装s3f ...