1.jps 查看jvm中运行的进程(获取对应pid) 参数:默认-V(大写) -v: 列出jvm启动参数。 2.jstack pid 查看某个Java进程内的线程堆栈信息,,可用于线程死锁问题排查 3.jinfo pid 查看某个java进程的jvm参数信息等 jinfo -flags pid 查看 ...
分类:
其他好文 时间:
2019-06-30 00:22:31
阅读次数:
115
公司的产品一直紧跟 .net core 3.0 preview 不断升级, 部署到 Linux 服务器后, 偶尔会出现某个进程CPU占用100%. 由于服务部署在云上, 不能使用远程调试; 在局域网内的Linux 服务器 或 Windows开发机上又不能重现这个问题, 联想到Java的jstack, ...
分类:
Web程序 时间:
2019-06-23 19:19:42
阅读次数:
143
进程的内存信息,可以使用jmap 和 jstack 等dump出文件,使用jhat 分析 dump 文件。不过比较简陋。 可以不停进程的方式有 JFR 或者taobao 开源组件。 本篇只记录JFR相关 1. Enable JFR 使用参数 -XX:+UnlockCommercialFeatures ...
分类:
其他好文 时间:
2019-06-20 17:20:23
阅读次数:
109
jps:可以列出正在运行的虚拟机进程 主要选项 样例: jstat:用于监视虚拟机各种运行状态信息的命令行工具。它可以显示本地或者远程虚拟机进程中的类装载、内存、垃圾收集、JIT编译等运行数据 命令格式:jstat -<option> [-t] [-h<lines>] <vmid> [<interv ...
分类:
其他好文 时间:
2019-05-18 18:56:33
阅读次数:
174
概论命令监控最方便,但是最优的方式是通过工具打开监控:比如jconsole、jvisualvm,几乎全部的信息都有了,另外jvisualvm支持远程监控,但是需要做一些配置使用命令的目的获取垃圾回收器的类型和系统参数//jmap-heappid查看应用启动的参数//jinfo-flagspid查看当前各个代区的容量和使用量情况//jstatFGC、YGC的总次数和总耗时//jstat立即生成Dum
分类:
Web程序 时间:
2019-05-06 11:52:37
阅读次数:
223
简介 jstack 主要用于生成虚拟机当前时刻的「线程快照」。线程快照是当前 Java 虚拟机每一条线程正在执行的方法堆栈的集合。 生成线程快照的主要目的是用于定位线程出现长时间停顿的原因,如线程间死锁、死循环、请求外部资源导致长时间等待。 基础 线程的几种状态 ,未启动的。不会出现在Dump中。 ...
分类:
编程语言 时间:
2019-04-27 19:28:09
阅读次数:
250
1、多线程中的死锁,指两个或多个线程之间,由于互相持有对方需要的锁,循环依赖导致彼此一直处于阻塞的状态。 2、定位死锁最常见的方式就是利用jstack等工具获取线程栈,然后定位互相之间的依赖关系,进而找到死锁。 3、如果程序运行时发生了死锁,绝大多数情况下都是无法在线解决的,只能重启、修正程序本身问 ...
分类:
其他好文 时间:
2019-04-23 09:26:55
阅读次数:
143
jstat jstat jstat -gcutil 11117 250 20 查看进程号为11117的java进程的垃圾收集情况,每250ms输出一次,一共输出20次。 新生代Eden区(E,表示Eden)使用了6.2%的空间,两个Survivor区(S0、S1,表示Survivor0、Surviv ...
分类:
其他好文 时间:
2019-04-18 01:04:08
阅读次数:
200
1、top 命令查看占用cpu高的进程,pid=15019 2、查看该进程下所有占用cppu高的线程 top -Hp pid 即:top -Hp 15019 得到pid 3、获取15030的16进制 print "%x\n" 15030 3ab6 4、jstack -l 15019 > ~/jvm_ ...
分类:
其他好文 时间:
2019-04-08 18:36:45
阅读次数:
150
194.说一下 jvm 的主要组成部分?及其作用? JVM的基本结构及其各部分详解(一) JVM的基本结构及其各部分详解(二) 195.说一下 jvm 运行时数据区? JVM入门——运行时数据区 196.说一下堆栈的区别? 堆是进程资源,栈是线程资源, 1.栈内存存储的是局部变量而堆内存存储的是实体 ...
分类:
其他好文 时间:
2019-03-14 16:43:04
阅读次数:
214