Java进程CPU高

Java进程CPU高
1-1) 查看$PID进程里面的线程CPU占用状况
    top -H -p $PID
1-2) 显示线程列表,并按照CPU占用高的线程排序
    ps -mp $PID -o THREAD,tid,time | sort -rn
2) 找出CPU消耗较多的线程id, 并转换成16进制
    printf "%x\n" $TID
3) 查询出具体的线程状态
    jstack $PID | grep -A 10 0x$TID

时间: 2024-10-16 23:00:29

Java进程CPU高的相关文章

java进程CPU高分析

https://blog.csdn.net/moranzi1/article/details/89341480 JVM导致系统CPU高的常见场景内存不足,JVM gc频繁,一般会伴随OOMJVM某个线程死循环或者递归调用 定位和解决1.内存不足,gc频繁可参考我的这遍文章解决.https://blog.csdn.net/moranzi1/article/details/886702042.JVM某个线程死循环或者递归调用.这种情况关键是找到导致CPU高的线程.然后根据具体线程具体分析为什么该线程

Linux下java进程CPU占用率高-分析方法

今天登陆同事的一台gateway 开始以为hive环境登陆不了了,仔细一看看了下是因为机器很卡,我每次等几秒没登陆就ctrl+c了,看了下是有个java进程cpu:340.4%  mem:14.6% 一般解决方法是通过top命令找出消耗资源高的线程id,利用strace命令查看该线程所有系统调用 1. 通过top命令找到可疑进程PID top 一下 可以看出java进程CPU利用率一直保持100%,稳居不下,找到PID 24138 2. 找出消耗资源最高的线程 top -H -p  29580 

Linux下java进程CPU占用率高分析方法

Linux下java进程CPU占用率高分析方法 在工作当中,肯定会遇到由代码所导致的高CPU耗用以及内存溢出的情况.这种情况发生时,我们怎么去找出原因并解决. 一般解决方法是通过top命令找出消耗资源高的线程id,利用strace命令查看该线程所有系统调用 1. 通过top命令找到可疑进程PID top - 09:37:18 up 70 days, 16:29, 2 users, load average: 1.13, 1.04, 0.97 Tasks: 105 total, 1 running

Java进程CPU使用率高排查

近期java应用,CPU使用率一直很高,经常达到100%,通过以下步骤完美解决,分享一下. 1.jps 获取Java进程的PID. 2.jstack pid >> java.txt 导出CPU占用高进程的线程栈. 3.top -H -p PID 查看对应进程的哪个线程占用CPU过高. 4.echo "obase=16; PID" | bc 将线程的PID转换为16进制. 5.在第二步导出的Java.txt中查找转换成为16进制的线程PID.找到对应的线程栈. 6.分析负载高

查看JAVA占用CPU高的线程日志

# 1. 查看主进程占用cpu高 top # 1647 java # 2. 按照线程占用cpu由高到低进行排查: ps -mp 1647 -o THREAD,tid,time | sort -rn |head -6 # USER %CPU PRI SCNT WCHAN USER SYSTEM TID TIME # root 1.6 - - - - - - 00:02:07 # root 0.1 19 - futex_ - - 1767 00:00:11 # root 0.1 19 - futex

【疑难问题】Java疑难CPU高定位

1   CPU高分析 1.1   说明(root执行) 建议使用root账号执行命令,使用其他账号登录可能会无法看到部分进程信息. 1.2   查看服务进程ID(ps) 命令格式:  ps –ef | grep XXXX 1.3   查看机器CPU占用情况(top) 命令格式:  top 执行结果如下,结果会动态刷新 %CPU取值说明:以347949为例,58.7%并不是类似Windows的整体CPU占用率.CPU通常是多核,命令执行机器是8核CPU,则CPU全部可用率为8*100%=800%:

java进程CPU飙高

因为这段时间一直在弄监控,但是工作还是在进行中 因为机器不多,所以今天早上巡检了一下,看到一台生产机器上的CPU飙高 top 然后就请出了大神工具JVM 具体JVM的介绍看:http://www.cnblogs.com/smail-bao/p/6027756.html CPU飙高的话,我们就是用jstack的工具 首先我们使用top查出来是哪个进程导致的CPU飙高 这里我们看到是PID号为11506的进程 这个进程对应的项目是哪个(为了后面可以把错误的定位发给相关的开发人员看),使用ps -au

Java进程CPU占用高导致的网页请求超时的故障排查

一.发现问题的系统检查: 一个管理平台门户网页进统计页面提示请求超时,随进服务器操作系统检查load average超过4负载很大,PID为7163的进程占用到了800%多. 二.定位故障 根据这种故障的一般处理思路,先找出问题进程内CPU占用率高的线程,再通过线程栈信息找出该线程当时在运行的问题代码段,操作如下: 2.1.根据思路查看高占用的"进程中"占用高的"线程",追踪发现7163的进程中16298的线程占用较高,使用命令: top -Hbp 7163 | a

生产环境下JAVA进程高CPU占用故障排查

问题描述:生产环境下的某台tomcat7服务器,在刚发布时的时候一切都很正常,在运行一段时间后就出现CPU占用很高的问题,基本上是负载一天比一天高. 问题分析:1,程序属于CPU密集型,和开发沟通过,排除此类情况.2,程序代码有问题,出现死循环,可能性极大. 问题解决:1,开发那边无法排查代码某个模块有问题,从日志上也无法分析得出.2,记得原来通过strace跟踪的方法解决了一台PHP服务器CPU占用高的问题,但是通过这种方法无效,经过google搜索,发现可以通过下面的方法进行解决,那就尝试下