JVM 之 Linux定位CPU过高问题及优化】的更多相关文章

项目部署以后出行卡顿现象,所以对问题进行了排查,记录一下排查过程 (从CSDN编辑器贴过来的,图有水印) 1.找进程 top 可以发现,是Java进程导致的CPU过高,致使系统卡顿 2.找线程 ps -mp pid -o THREAD,tid,time 发现占比最大的线程 3.线程id转换16进制 printf "%x\n" pid 得到6a33,方便下一步排查 4.查询代码位置 jstack pid|grep tid -A 30 发现全是GC线程 5.查看gc频率 jstat -gc…
[三板斧]Java定位CPU使用高问题 1.TOP命令,查询消耗CPU高的进程号 PID,并记录下来,按下键盘"H"键,记录高消耗线程号,并将改线程号转换为十六进制 2.使用 jstack [pid]  > xx.log 命令打印进程信息,为了定位准确,可以多来几次 3.打开日志文件,找到十六进制的线程信息,可定位到具体类的某一行. 演示: 1.查询消耗CPU高的进程号 PID,并记录下来 #top top - 18:45:29 up 14 days, 23:27,  6 use…
以下四步轻松定位CPU飙高问题: ①top pid 查看cpu耗CPU进程 ②top -Hp pid 查看该进程所有线程的运行情况,找到占用 CPU 过高的线程 pid ③ printf %x pid 打印出 pid 的 16 进制值(jstack 命令结果中的线程 ID 为 nid,且用 16 进制表示) ④ jstack -l pid grep nid 命令查看线程快照,根据上一步得到的 16 进制值找到具体的线程,就能知道这个进程在执行什么代码了…
本篇博客记录一次性能测试过程中,定位对CPU使用率高的瓶颈问题,主要定位SQL为准 一.用SQL命令定位1.首先用TOP命令监控系统资源,如果是AIX系统,就用topas,进入TOP命令的滚动刷新数据时,发现userCPU高达98%!! 保持top的状态下,按shift+p,可以将所有进程按CPU使用率高低排序,这样可以了解消耗CPU最多的进程是哪些 可以看到,当前userCPU使用率高达98%,且此时TPS不再随并发数上升了,可以认为已经达到性能瓶颈了,且是由CPU瓶颈造成的 2.排序完后,将…
原文地址:https://blog.csdn.net/chenjunan888/article/details/80447800 在服务器报cpu过高时,可使用以下命令,快速导出堆栈信息,以方便查看具体的问题. 1. 使用top命令定位异常进程.可以看见12836的CPU和内存占用率都非常高 此时可以再执行ps -ef | grep java,查看所有的java进程,在结果中找到进程号为12836的进程,即可查看是哪个应用占用的该进程. 2. 使用top -H -p 进程号查看异常线程 3. 使…
原文地址:http://www.cnblogs.com/guoyuqiangf8/p/3545687.html 1.TOP命令,查询消耗CPU高的进程号 PID,并记录下来,按下键盘"H"键,记录高消耗线程号,并将改线程号转换为十六进制 2.使用 jstack [pid]  > xx.log 命令打印进程信息,为了定位准确,可以多来几次 3.打开日志文件,找到十六进制的线程信息,可定位到具体类的某一行. 演示: 1.查询消耗CPU高的进程号 PID,并记录下来 #top top…
具体的命令经常忘记,毕竟用的不是很多.为了避免去找备份一下 1.TOP命令,找到占用CPU最高的进程 $ top top - 20:11:45 up 850 days,  1:18,  3 users,  load average: 1.04, 1.01, 0.99 Tasks:  61 total,   1 running,  60 sleeping,   0 stopped,   0 zombie Cpu(s):  1.4% us,  0.1% sy,  0.0% ni, 98.3% id,…
1.首先用TOP命令监控系统资源,如果是AIX系统,就用topas,进入TOP命令的滚动刷新数据时,发现userCPU高达98%!! 保持top的状态下,按shift+p,可以将所有进程按CPU使用率高低排序,这样可以了解消耗CPU最多的进程是哪些 2 现在v$process 视图中找到pid对应的地址addr,将进程号pid和oracle的session联系起来 SQL:select addr from v$process where spid=172928; (简介:v$process视图包…
转自:http://blog.csdn.net/mergerly/article/details/47731305 1.TOP命令,找到占用CPU最高的进程 $ top top - 20:11:45 up 850 days,  1:18,  3 users,  load average: 1.04, 1.01, 0.99 Tasks:  61 total,   1 running,  60 sleeping,   0 stopped,   0 zombie Cpu(s):  1.4% us,  …
1. 查询java pid top -c 2. 查询java进程下,线程情况 top -Hp pid(threadIdList) 3. 将10进制线程id转为16进制 printf "%x \n" threadId(tid) 4. 查询线程情况 jstack pid|grep '0xtid' -C5 --color 或者jstack pid > a.txt.在a.txt查询 nid=0xtid…