![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
bug定位与监控
文章平均质量分 65
问题定位与性能监控
weixin_40637783
这个作者很懒,什么都没留下…
展开
-
TransmittableThreadLocal错误排查
一 问题背景 数据写入丢失二 疑点以及日志分析(1)关键日志分析:收到了相关的kafka消息,并且打印了日志,针对该kafka消息,处理并提交了。针对链路的处理,是通过handler链处理的,查看nodeStore的链,发现写入只用了0ms,这个可能性不大,说明可能没有执行数据库操作。21/10/1817:46:40,563[DEBUG][bgp-ls-node-process-batch-commit]-Handlerlistwithhandler:NodeSto...原创 2022-02-07 10:37:44 · 1070 阅读 · 0 评论 -
程序员日常-------无法创建线程故障排查
背景: 最近在工作中查了一个问题,消费者队列里面的消息无法没有成功消费。问题描述: 这里生产者会将消息放入队列中,由消费者消费消息。startLoop是一个消费者。在生产环境中发现依然有生产者往队列里面发送消息,但是就是没有消费。 private AtomicBoolean isLooping = new AtomicBoolean(false); private BlockingQueue<T> queue = new LinkedBlo...原创 2021-12-04 09:44:18 · 809 阅读 · 0 评论 -
JVM性能分析工具
一 JPS虚拟机进程状况工具jps -l 输出主类的全名jps -v 虚拟机进程启动时的参数jps -m 进程启动时传递给主类的参数二 jstatoption具体现象和作用如下:-class:监视类装载、卸载数量、总空间以及类装载所耗费的时间。-compiler:输出JIT编译器编译过的方法、耗时等信息。-gc:监视java堆状况,包括Eden区,survivor区,老年代,永久代等的容量,已用空间、GC时间合计等信息。-gccapacity:监视内容和-gc基本相同,但.原创 2020-12-29 10:31:05 · 71 阅读 · 1 评论 -
JVM 基本知识
一:运行时数据区(1)程序计数器:可以看成是当前线程执行的字节码的行号指示器,字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令。如果线程执行的是JAVA方法,其记录的是正在执行的虚拟机字节码指令的地址如果执行的是Native方法,这个计数器值为空。此区域永远不会OOM。(2)虚拟机栈:生命周期与线程相同,线程私有,每个方法在执行的时候都会创建一个栈帧,栈帧内存放了局部变量表、操作数栈,动态链接方法出口等信息。每一个防范调用直至执行完成的过程,对应入栈到原创 2020-12-29 10:29:09 · 43 阅读 · 1 评论 -
Arthas学习
一 启动java -jar arthas-boot.jar二dashboardID: Java级别的线程ID,注意这个ID不能跟jstack中的nativeID一一对应NAME: 线程名GROUP: 线程组名PRIORITY: 线程优先级, 1~10之间的数字,越大表示优先级越高STATE: 线程的状态CPU%: 线程消耗的cpu占比,采样100ms,将所有线程在这100ms内的cpu使用量求和,再算出每个线程的cpu使用占比。TIME: 线程运行总时间,数据格式为分:秒I..原创 2020-12-29 10:32:33 · 38 阅读 · 0 评论