Java的工具集相当强大,学习成本也很低,处理线上问题时,jstack这个工具就比微软的windbg,好学好用很多,3步找出占用CPU很高的源所在。而windbg反人类的各种命令,实在不敢恭维。 故意设置了一个CPU占用很高的场景: 排查问题,步骤: 1. ps -mp 【替换为进程ID PID】 ...
分类:
编程语言 时间:
2019-03-06 19:15:48
阅读次数:
190
查找哪个线程占用的资源最多: ps p pid(16944) -L -o pcpu,pid,tid,time,tname,stat,psr |sort -n -k1 -r jstack输出堆栈信息:jstack pid 进行查看输出到临时文件 jstack pid | grep -A 50 tid( ...
分类:
Web程序 时间:
2019-03-01 12:58:57
阅读次数:
185
一、介绍 jstack是java虚拟机自带的一种堆栈跟踪工具。jstack用于打印出给定的java进程ID或core file或远程调试服务的Java堆栈信息,如果是在64位机器上,需要指定选项"-J-d64",Windows的jstack使用方式只支持以下的这种方式: 主要分为两个功能: a. 针 ...
分类:
编程语言 时间:
2019-01-28 12:09:59
阅读次数:
305
首先可以用jstack -l pid >sample.dump把java进程的运行栈dump出来。 还可以用grep java.lang.Thread.State sample.dump | awk '{print $2}' | sort -n | uniq -c 来看看进程中都有哪些线程状态。 首 ...
分类:
Web程序 时间:
2019-01-27 21:33:38
阅读次数:
506
JDK内置工具使用 一、javah命令(C Header and Stub File Generator) 二、jps命令(Java Virtual Machine Process Status Tool) 三、jstack命令(Java Stack Trace) 四、jstat命令(Java Vi ...
分类:
编程语言 时间:
2019-01-20 20:08:20
阅读次数:
194
JDK本身提供了很多方便的JVM性能调优监控工具,除了集成式的VisualVM和jConsole外, 还有jps、jstack、jmap、jhat、jstat、hprof等小巧的工具,每一种工具都有其自身的特点, 用户可以根据你需要检测的应用或者程序片段的状况,适当的选择相应的工具进行检测, 先通过 ...
分类:
Web程序 时间:
2019-01-15 11:58:50
阅读次数:
324
jps:罗列出服务器运行的Java程序和进程ID jsatat :内存的使用情况 jmap; jstack: ...
分类:
其他好文 时间:
2019-01-13 14:57:51
阅读次数:
164
原文:https://www.cnblogs.com/ityouknow/p/5714703.html 一、jstat jstat(JVM statistics Monitoring)是用于监视虚拟机运行时状态信息的命令,它可以显示出虚拟机进程中的类装载、内存、垃圾收集、JIT编译等运行数据。 命令 ...
分类:
Web程序 时间:
2019-01-05 20:01:05
阅读次数:
244
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 ...
分类:
编程语言 时间:
2019-01-04 14:35:38
阅读次数:
310
基于openjdk:8u171-alpine构建的java镜像,使用jstack命令打印线程的时候会提示以下错误: 使用jmap命令尝试了一下,也是一样的错误。换了一种启动方式,使用/bin/sh启动docker,然后进入docker手动启动java进程,然后再用jstack命令,就能正常打印。换了 ...
分类:
编程语言 时间:
2019-01-04 12:45:24
阅读次数:
331