记一次jstack线程诊断
记一次jstack线程诊断
问题
dubbo请求服务,服务提供者 打印日志 显示请求任务队列堆积过长,线程池活动线程过大。,增加线程池线程核心数以及队列大小 依然没用。直接跑到核心线程数的最大值
排查
1.使用top 命令查看Cpu 发现 cpu 188% 内存。超过一倍
2.定位线程问题 top -Hp pid 查看线程使用情况 发现线程数超标 并且每个线程所占cpu相同 ,内存也相同 ,怀疑某段代码一直在循环,
3.使用 jstack pid 命令发现 所有任务线程 都一直在执行统一行代码,找到源码,发现确实是一个循环,因为数据库条件不满足一直做循环处理,
处理
修改代码逻辑,防止无限循环出现
记一次jstack线程诊断相关推荐
- 14.线程诊断_cpu占用高(top、ps H -eo pid,tid,%CPU | grep tid、clear、jstack pid)-------注意jstack输出的线程信息是16进制的
线程和虚拟机栈是息息相关的. 这里提供了一些线程诊断的一些案例, 有些时候我们需要学习掌握一些工具,有利于诊断我们的线程情况 来看第一个案例,有一个应用程序,cpu占用居高不下,影响了其他程序,怎么去 ...
- jstack 线程状态详解
jstack 线程状态详解 jatsck 用法 线程状态 一图以庇之 系统线程状态 (Native Thread Status) jatsck 用法 #jstack -h Usage:jstack [ ...
- jstack 线程状态
转自 http://www.cnblogs.com/nexiyi/p/java_thread_jstack.html jstack 线程状态 jstack 线程里,值得关注的线程状态有: 死锁,D ...
- jstack 线程状态分析_面试官:说说你是怎么用JDK监控和故障处理工具的吧?例如jstack...
当JVM发生故障的时候,能应用JDK命令行工具对JVM进行监控和故障诊断是Java开发人员必备的技能之一.本篇文章将为大家带来JVM进行监控和故障诊断常用的命令行工具,如下图: 其中jps.jstat ...
- Java线程状态Jstack线程状态BLOCKED/TIMED_WAITING/WAITING解释
一.线程5种状态 新建状态(New) 新创建了一个线程对象. 就绪状态(Runnable) 线程对象创建后,其他线程调用了该对象的start()方法.该状态的线程位于可运行线程池中,变得可运行,等待获 ...
- 查看java线程堵塞排查_记一次应用线程被阻塞的问题排查
昨晚测试环境遇到了一个问题,情况是这样的: 1.系统访问了两个特定的帆软报表之后,其他所有请求被阻塞,导致 nginx 报 504 的错误. 2.帆软报表仍然能访问. 分析.猜测与定位: 1.既然帆软 ...
- Jstack线程状态BLOCKED/TIMED_WAITING/WAITING解释
一.线程5种状态 1.新建状态(New) 新创建了一个线程对象. 2.就绪状态(Runnable) 线程对象创建后,其他线程调用了该对象的start()方法.该状态的线程位于可运行线程池中,变得可运行 ...
- jstack线程状态分析
使用jstack pid命令可以查看JVM的线程状态,其中值得关注的线程状态有: 死锁,Deadlock(重点关注) 执行中,Runnable 等待资源,Waiting on condition(重点 ...
- springboot tomcat默认线程数_记一次JAVA线程池的错误用法
最近项目一个项目要结项了,但客户要求 TPS 能达到上千,而用我写的代码再怎么弄成只能达到 30 + 的 TPS,然后我又将代码中能缓存的都缓存了,能拆分的也都拆分了,拆分时用的线程池来实现的:其实现 ...
最新文章
- 复制构造函数(拷贝构造函数)
- Vuex 的异步数据更新(小记)
- sqlite3 C接口基础
- Eclipse中spring boot的安装和创建简单的Web应用
- php basic publish,RabbitMQ入门(PHP语言描述)
- ESP32 + ESP-IDF |GPIO 01 - 驱动外部两个LED灯,以每300ms的时间间隔闪烁
- Leetcode每日一题:381.insert-delete-getrandom-o1-duplicates-allowed(时间插入、删除和获取随机元素-允许重复)
- android studio dns问题_Android网络优化篇-从DNS开始
- [转载] python可视化分析(matplotlib、seaborn、ggplot2)
- Hadoop 各组件介绍
- 数据库 | Redis 缓存雪崩解决方案
- linux 删除网桥接口,linux 网桥代码分析 三 网桥及网桥端口的添加与删除
- 带宽与速度的换算(表达式+例子)
- Django学习 day79之drf第三日
- spry菜单栏(一)
- Excel公式-TEXT函数使用
- 推荐三个 VSCode 摸鱼插件
- c语言定义max和命令,C语言#define定义函数
- 基于Tushare数据库统计混合型基金前十大重仓股持仓变化
- Luogu P1365 WJMZBMR打osu! / Easy