# 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... ...
分类:
编程语言 时间:
2019-11-07 15:15:45
阅读次数:
128
jstack `jps|grep Bootstrap|awk '{print $1}'`|grep "java.lang.Thread.State:"|awk '{print $2}'|sort|uniq -c|awk '{print $2 ":" $1}' # RUNNABLE:19 # 可运行线... ...
分类:
编程语言 时间:
2019-11-07 15:01:41
阅读次数:
110
# 注意点: # 项目运行的用户 # 使用的jdk版本下的jstack去查看 /opt/jdk1.8.0_191/bin/jmap -dump:format=b,file=/webser/www/`date +%Y%m%d`.zip `ps -ef |grep tomcat |grep -v "gr... ...
分类:
编程语言 时间:
2019-11-07 15:00:43
阅读次数:
84
JDK提供的监控和故障处理工具 jps:JVM Process Status Tool,显示指定系统内所有的HotSpot虚拟机进程 jstat:JVM Statistics Monitoring Tool,用户收集HotSpot虚拟机各方面的运行数据 jinfo:Configuration Inf ...
分类:
其他好文 时间:
2019-10-30 21:09:09
阅读次数:
125
1.什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”? Java虚拟机是一个可以执行Java字节码的虚拟机进程。 Java源文件被编译成能被Java虚拟机执行的字节码文件。 Java被设计成允许应用程序可以运行在任意的平台,而不需要程序员为每一个平台单独重写或者是重新编译。 Jav ...
分类:
编程语言 时间:
2019-10-28 14:35:57
阅读次数:
89
死循环、死锁、阻塞、页面打开慢等问题,打线程dump是最好的解决问题的途径。所谓线程dump也就是线程堆栈,获取到线程堆栈有两步: (1)获取到线程的pid,可以通过使用jps命令,在Linux环境下还可以使用ps -ef | grep java (2)打印线程堆栈,可以通过使用jstack pid ...
分类:
编程语言 时间:
2019-10-16 17:42:12
阅读次数:
120
1. dump生成:jmp dump:live,format=b,file=/tmp/some.bin PID。其中,加上live表示只dump存活的对象。(生成的dump工具可以使用MAT来进行分析) 2. 线程栈信息生成:jstack 3. PID /tmp/file.txt 4. 找出占用CP ...
分类:
其他好文 时间:
2019-10-14 01:02:26
阅读次数:
129
1.线程dump命令 jstack -l pid > xxx.file ##pid java 进程id 2.top命令查看CPU 3.高手是怎么使用jstack精确找到异常代码的 一个CPU密集型线程的demo: package chapter1; public class FindJavaThre ...
分类:
其他好文 时间:
2019-10-13 19:09:10
阅读次数:
136
1. top命令查看进程pid 27081 2. ps -mp pid -o THREAD,tid,time (tid:31128) 3.printf “%x\n” number #将tid转换成16进制,number代表tid, 输入tid:31128,输出7998 4. jstack pid 2 ...
分类:
其他好文 时间:
2019-10-12 11:31:51
阅读次数:
234
1、通过top 查看当前java 进程 2、通过 top -p 19528 查看进程下的线程 3、查看CPU使用率较高的线程,记录线程号 4、线程号转换为16进制,printf "%x/n" 22131 (22131为线程号:pid) 5、打印堆栈 jstack 19528 > duizhan.lo ...
分类:
编程语言 时间:
2019-10-11 18:12:46
阅读次数:
109