使用jstack(jstack是用于调试线程间的关系,解决阻塞,锁等问题)定位由死循环引起的cpu负载飙高或者死锁
在linux下:
linux的top命令可以查看进程的pid,我们找到java程序的pid,
然后执行 top -Hp pid 就可以查看到这个进程下线程的运行情况。
这样粗略可以看到哪些线程比较繁忙,这时候就用到jdk自带的小工具jstack(官方文档或者自行 百度)。
我们执行jstack pid > abc.txt //意思是执行结果输出到这个文本。
在这个文本中有很多的就是当前线程的执行情况。
文本中的线程pid是十六进制的,top出来的是十进制,所以十进制转十六进制命令:printf "%x" 十进制的线程id
jstack还有很多其他的参数,感兴趣的可以自己看一下官方文档。
刚才输出的abc.txt里面就是我们线程执行的情况,那么可以这么排查定位:
当你top -Hp pid 可以查看到cpu占用高的线程,然后把这个线程pid转换为十六进制,打开abc.txt文件,搜索这个十六进制数,搜出来的结果就是要重点排查的!
使用jstack(jstack是用于调试线程间的关系,解决阻塞,锁等问题)定位由死循环引起的cpu负载飙高或者死锁相关推荐
- WPF 中出现不同线程间操作的解决
WPF 中出现不同线程间操作的解决 Dispatcher.Invoke(new EventHandler(this.ShowSchemeInfo), sender, e); posted on 201 ...
- linux线程负载,linux 排查cpu负载过高异常(转载)
问:如何定位是哪个服务进程导致CPU过载,哪个线程导致CPU过载,哪段代码导致CPU过载? 步骤一.找到最耗CPU的进程 工具:top 方法: 执行top -c ,显示进程运行信息列表 键入P (大写 ...
- 线程死锁 导致 服务器cpu负载过高
1.可以用jstack命令可以来发现死锁问题. 2.可以用jdk中自带jconsole工具来检测死锁. jvm内存溢出和线程死锁也可以通过jdk自带visualVm工具进行检测
- C++并发编程线程间共享数据std::future和sd::promise
线程间共享数据 使用互斥锁实现线程间共享数据 为了避免死锁可以考虑std::lock()或者boost::shared_mutex 要尽量保护更少的数据 同步并发操作 C++标准库提供了一些工具 可以 ...
- python线程间通信_python多线程之事件触发(线程间通信)
执行结果: 那么,通过分析执行结果来看,您已经体会到了其中的秘密.... 再脑补一下: Python提供了Event对象用于线程间通信,它是由线程设置的信号标志,如果信号标志位真,则其他线程等待直到信 ...
- HarmonyOS之深入解析线程间的通信
一.概述 ① 基本概念 在开发过程中,开经常需要在当前线程中处理下载任务等较为耗时的操作,但是又不希望当前的线程受到阻塞.此时,就可以使用 EventHandler 机制. EventHandler ...
- Unix/Linux IPC及线程间通信总结
一.互斥与同步 1.互斥:是指某一资源同时只允许一个访问者对其进行访问,具有唯一性和排它性.但互斥无法限制访问者对资源的访问顺序,即访问是无序的. 2.同步:是指在互斥的基础上(大多数情况),通过其它 ...
- Python | threading03 - 使用条件对象,实现线程间的同步
文章目录 一.前言 二.生产者-消费者的模型 2.1.代码 2.2.运行 2.3.wait( )方法会将互斥锁释放 三.条件同步 - threading.Condition( ) 3.1.相关API ...
- jstack排查cpu使用率过高
jstack排查cpu使用率过高 步骤: 1.top命令找出最高占用的进程(command为java) 2.查看高负载进程下的高负载线程:top -Hp [PID] (或 ps -mp PID -o ...
最新文章
- java getservername_Tomcat:getHeader(“主机”)与getServerName()
- 什么是URL?协议头,路径和端口是什么意思?
- 民用报警服务技术浅谈
- kettle分批处理大表数据_kettle-批量同步表数据
- python输入一组数据、进行简单的统计_《利用Python进行数据分析》学习笔记——第二章(3)...
- 或者是修改服务器时间,修改云服务器时间设置
- java混淆工具对比,java-混淆如何在另一个类中键入比较器
- “水仙花数”你了解多少??
- java excel api 下载文件_Java-Excel Java操作Excel POI(Jakarta POI API) - 下载 - 搜珍网
- python pandas csv getitem,访问.csv文件时使用Pandas获取KeyError
- 大数据学习菜鸟的Hadoop快速入门基础教程汇总详细解答
- 西门子S7-200PLC基本入门编程
- 数字系统设计, 8个经典计数器电路方案合辑
- CAD二次开发(C#) 第二节
- An Efficient Joint Training Framework for Robust Small-Footprint Keyword Spotting(2020)
- Git:Terminal is dumb, but EDITOR unset
- oracle ora-03114
- 心脏出血漏洞(CVE-2014-0160)
- 阿里巴巴集团主席马云演讲实录(图)
- 金蝶BOS,服务端执行SQL语句参考