分析占用了大量 CPU 处理时间的是Java 进程中哪个线程
2024-08-24 04:01:06
下面是详细步骤:
1. 首先确定进程的 ID ,可以使用 jps -v 或者 top 命令直接查看
2. 查看该进程中哪个线程占用大量 CPU,执行 top -H -p [PID] 结果如下:
可以发现编号为 350xx 的共有 9 个线程占用了 100% 的 CPU,好,接下来咱们随便取一个线程 ID ,假设我们想看编号为 35053 这个线程。
首先将 35053 转成 16 进制是 88ED (可以用开源中国在线工具转换)
3. 接下来我们将进程中的所有线程输出到一个文件中,执行:jstack [PID] > jstack.txt
4. 在进程中查找对应的线程 ID,执行:cat jstack.txt | grep -i 88ED
结果是:
"HTTP Request From : /xxxx/blog/323432(120.27.143.239)" #266 daemon prio=5 os_prio=0 tid=0x00007fcda4146800 nid=0x88e runnable [0x00007fcd54178000]
由此可以看出在请求 /xxxx/blog/323432 链接的时候,服务器的处理线程占用了 100% 的 CPU。
原文地址:分析占用了大量 CPU 处理时间的是Java 进程中哪个线程
标签:java cup100% 线程
智能推荐
最新文章
- java面试题——HashMap和Hashtable 的区别
- mac下开发IOS代码管理
- js-form进行reset重置
- 解决Jenkins console输出乱码
- HTML5——购物车
- ElasticSearch安装部署
- eucalyptus,openNebula云构建漫谈
- JavaScript入门(6)
- ETL概述
- Executor框架
- wemall app商城源码中android按钮的三种响应事件
- jQuery.ajax success 与 complete 区别
- burpsuite + sqlmap 日志导出批量扫描
- 【备忘】Idea的那些事
- JMeter 正则表达式提取器结合ForEach控制器遍历提取变量值
- Flask之勾子,错误捕获以及模板语法
- Flutter - ListView禁止用户上下滑动
- mac 下vim 配置文件
- 一张图看懂css的position里的relative和absolute的区别
- win 10 下面安装 mysql-8.0.12-winx64 的过程
热门文章
- 每日英语:Upgrade Your Life: How to speed up your PC (or Mac)
- 《软件测试自动化之道》读书笔记 之 基于Windows的UI测试
- Python3自定义http/https请求拦截mitmproxy脚本
- 【九天教您南方cass 9.1】 04 编码法Ⅱ绘制地形图
- Tip 18 – How to decide on a lifetime for your ObjectContext
- ubuntu GCC 版本切换
- java-信息安全(十)-数字签名算法DSA
- 如何用Baas快速在腾讯云上开发小程序-系列1:搭建API &; WEB WebSocket 服务器
- VBA字符串处理大全
- JS正则校验