Java进程占用CPU资源过多分析】的更多相关文章

问题描述: 生产环境下的某台tomcat7服务器,在刚发布时的时候一切都很正常,在运行一段时间后就出现CPU占用很高的问题,基本上是负载一天比一天高. 问题分析: 1,程序属于CPU密集型,和开发沟通过,排除此类情况. 2,程序代码有问题,出现死循环,可能性极大. 问题解决: 1,开发那边无法排查代码某个模块有问题,从日志上也无法分析得出. 2,记得原来通过strace跟踪的方法解决了一台PHP服务器CPU占用高的问题,但是通过这种方法无效,经过google搜索,发现可以通过下面的方法进行解决,…
#!/bin/bash #输入占用CPU较高的进程号 pid=$ if [ -z $pid ] then echo "PID is NULL" exit fi #找到该进程中占用较高的前30个线程号 >mytmp.out #获取线程信息 while read line do tid=`echo $line | awk '{print $8}'` echo $tid if [ "${tid}" = "-" ] then echo "…
由于是开发阶段,所以并没有配置postgres的参数,都是使用安装时的默认配置,以前运行也不见得有什么不正常,可是前几天我的cpu资源占用突然升高.查看进程,发现有一个postgres的进程占用CPU都是80%以上,而且居高不下:刚开始以为是配置上需要修改,但事实上,默认配置基本上是很优化的,而且是开发阶段,数据量也并不大.后来通过分析,得出结论,解决问题应该从以下几个方面来逐一考虑:1:SQL查询方面检查数据检索的索引是否建立,凡是需要查找的字段尽量建立索引,甚至是联合索引:创建索引,包括表达…
发现服务器CPU占用100%,通过top命令发现pubg -c config.json -t 2占用CPU资源,kill进程会自动启动.黑客入侵方式是kubernetes创建pod. Name: kube-api-zbplw Namespace: default Node: 120.79.2.25/120.79.2.25 Start Time: Tue, Dec :: + Labels: <none> Status: Succeeded IP: 172.17.36.4 Controllers:…
在一次生产环境中,服务器负载报警,SSH登录上看到CPU占用很高. 1.执行top命令,看到进程号为9737的进程持续占用CPU 2.怀疑是否是进程配置的内存不够了,引发了fullGC导致CPU占用高,执行jmap -heap 9737,看到老年代使用率百分之零,不可能引发fullGC 3.所以应该是程序中的某个线程占用CPU高导致的,使用jstack 9737 > ps.txt导出进程的线程信息,执行top  shift+h找到占用cpu最高的线程,果然就是9737进程下的线程! 4.将线程号…
1. 查找进程 top查看进程占用资源情况 明显看出java的两个进程22714,12406占用过高cpu.   2.查找线程 使用top -H -p <pid>查看线程占用情况   3.查找java的堆栈信息 将线程id转换成十六进制 #printf %x 15664 #3d30   然后再使用jstack查询线程的堆栈信息 语法:jstack <pid> | grep -a 线程id(十六进制)   jstack <pid> | grep -a 3d30   这样就…
一.CPU过高分析 1)使用TOP命令查看CPU.内存使用状态可以发现CPU占用主要分为两部分,一部分为系统内核空间占用CPU百分比,一部分为用户空间占用CPU百分比.其中CPU状态中标示id的为空闲CPU百分比.当空闲CPU百分比越低,说明CPU占用率越高. 2)目前针对Linux下java进程占用CPU高的分析手段主要为使用linux命令查出高CPU使用的进程,前分析其是由于进程原因还是系统原因,在分析出为进程消耗过高CPU后列出占用CPU高和占用时间最长的线程并使用jdk自带的jstack…
在这里对linux下.sun(oracle) JDK的线程资源占用问题的查找步骤做一个小结:linux环境下,当发现java进程占用CPU资源很高,且又要想更进一步查出哪一个java线程占用了CPU资源时,按照以下步骤进行查找: 先用top命令找出占用资源厉害的java进程id,如: 如上图所示,java的进程id为'12377',接下来用top命令单独对这个进程中的所有线程作监视: 1 top -p 12377 -H 如图: 如上图所示,linux下,所有的java内部线程,其实都对应了一个进…
linux环境下,当发现java进程占用CPU资源很高,且又要想更进一步查出哪一个java线程占用了CPU资源时,按照以下步骤进行查找: 1.先用top命令找出占用资源厉害的java进程id,如: 2.如上图所示,java的进程id为'12377',接下来用top命令单独对这个进程中的所有线程作监视: top -p -H 如图: 3.如上图所示,linux下,所有的java内部线程,其实都对应了一个进程id,也就是说,linux上的sun jvm将java程序中的线程映射为了操作系统进程: 我们…
问题描述:生产环境下的某台tomcat7服务器,在刚发布时的时候一切都很正常,在运行一段时间后就出现CPU占用很高的问题,基本上是负载一天比一天高. 问题分析:1,程序属于CPU密集型,和开发沟通过,排除此类情况.2,程序代码有问题,出现死循环,可能性极大. 问题解决:1,开发那边无法排查代码某个模块有问题,从日志上也无法分析得出.2,记得原来通过strace跟踪的方法解决了一台PHP服务器CPU占用高的问题,但是通过这种方法无效,经过google搜索,发现可以通过下面的方法进行解决,那就尝试下…