找到最耗CPU的java线程

原创 2013年12月05日 16:06:40

 

 

找到最耗CPU的java线程

1 找出占用cpu过高的进程ID号

   命令: top -c
  
 

 

 

 2 找出该进程下,运行时间过长的进程 id号.

     命令:ps -mp 10024 -o THREAD,tid,time | sort -rn


 
 

 

 3 因为在java堆栈日志中,线程id以 16 进程存储,因此我们需要先把 10 进制的线程id,转为 16 进制.

   命令:printf "%x\n" 11490
 
 

 

4 通过 jdk自带的jstack工具,打印堆栈异常信息.

   通过 printf "%x\n" 30834 首先转化成16进制, 继续通过jstack命令dump出当前的jvm进程的堆栈信息。 通过Grep命令即可以查到对应16进制的线程id信息,很快就可以找到对应最耗CPU的代码快在哪。

   命令:sudo ./jstack 10024|grep 2ce2 -A 30
 
 

 

Java代码  收藏代码
  1. "DboServiceProcessor-4-thread-295" daemon prio=10 tid=0x00002aab047a9800 nid=0x7d9b waiting on condition [0x0000000046f66000]  

nid : 对应的linux操作系统下的tid,就是前面转化的16进制数字

tid: 这个应该是jvm的jmm内存规范中的唯一地址定位,如果你详细分析jvm的一些内存数据时用得上,我自己还没到那种程度,所以先放下

 

 

 

 

  • 大小: 92.6 KB
  • 大小: 30.8 KB
  • 大小: 5.7 KB
  • 大小: 132.8 KB
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

java获取JVM的CPU占用率、内存占用率、线程数及服务器的网口吞吐率、磁盘读写速率

运行环境:jdk 1.8 + tomcat 7 + Spring 4.3 tomcat 容器启动及进入init()进行JVM PID的获取及执行任务 可能会碰到的问题:无法引入com.sun.m...

如何揪出java程序占用cpu过高的线程代码

windows下的解决办法1、下载Process Explorer并安装, 该工具可以查看进程下的线程cpu占用率2、打开Process Explorer, 找到java程序, 我们可以看到java程...
  • xlxxcc
  • xlxxcc
  • 2016-04-11 14:32
  • 2988

JAVA线程CPU占用率过高分析方法

分析java线程CPU占用率过高的方法和步骤

Java线程CPU亲和性工具

Thread Affinity为什么需要线程的CPU亲和性应用通过多线程的方式执行,多数情况下线程能够被合理的调度。但在某些情况下某个重要的线程被暂停,而时间片被分配给了一个无关重要的线程。当一个线程...
  • liu251
  • liu251
  • 2015-05-03 22:30
  • 4257

JAVA线程调用yield方法主动让出CPU资源

好记性不如赖笔头…………实体类:package com.Ckinghan.threadEach;public class YieldThread extends Thread { @Overri...

JAVA线程中join方法可以强占CPU资源直至执行结束

好记性不如赖笔头…………join()方法在API中的说明:void join() 等待该线程死亡。 可以理解为当线程调用了这个方法时,它会强占CPU资源,直到线程执行结果为止。 ...

Java线程CPU占比查找

JAVA 定位线程的CPU占比具体操作 1.找到java进程id # 使用top命令,找到进程id 2.查看进程中线程的运行明细 top -H -p [pid] 找到线程中c...

JVM调优之jstack找出最耗cpu的线程并定位代码分析

在工作当中,肯定会遇到由代码所导致的高CPU耗用以及内存溢出的情况。这种情况发生时,我们怎么去找出原因并解决。 我这里使用top +jstack命令去查找cpu占用比较高的代码。 操作如下: 1...
  • sfdst
  • sfdst
  • 2017-06-29 10:39
  • 102

如何分析最耗CPU的线程

最耗CPU的进程可以通过pidstat命令分析,但线程如何分析呢?以下通过寻找最耗CPU的java线程为例来说明,希望能抛砖引玉。   举例:找到最耗CPU的java线程 ps命令 命令:ps...

在Linux中找出占用大量CPU的Java代码(将Java线程与Linux PID进行关联)

英文原文:http://blogs.manageengine.com/appmanager/2011/02/09/identify-java-code-consuming-high-cpu-in-li...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)