首先,通过top命令找出CPU占用率高的进程: 然后,通过ps -mp 2066 -o THREAD,tid,time命令找出执行时间最长的线程的TID 将有问题的TID转为16进制格式: printf "%x\n" TID 最后,通过jstack 2066 | grep --color -E '2 ...
分类:
编程语言 时间:
2016-05-18 10:20:50
阅读次数:
181
检测方法 1 JConsole 找到需要查看的进程,打开线程选项卡,点击检测死锁 2 jps查看java进程ID,使用jstack -l 7412输出信息 3 使用jvisualvm连接java虚拟机,查看线程检测死锁 解决方法: 四个条件打破一个即可,但是代价不同,最简单的编码就是顺序加锁和解锁 ...
分类:
编程语言 时间:
2016-05-16 21:57:05
阅读次数:
173
JDK内置工具使用 一、javah命令(C Header and Stub File Generator) 二、jps命令(Java Virtual Machine Process Status Tool) 三、jstack命令(Java Stack Trace) 四、jstat命令(Java Vi ...
分类:
数据库 时间:
2016-05-16 14:15:48
阅读次数:
278
JVM监控工具介绍 VisualVM是一种集成了多个JDK命令行工具的可视化工具,它能为您提供强大的分析能力。所有这些都是免费的!它囊括的命令行工具包括jps,jstat,jmap,jinfo,jstack,JConsole,这些工具与JDK的标准版本是一致的。 jps:与unix上的ps类似,用来 ...
分类:
其他好文 时间:
2016-05-14 20:10:16
阅读次数:
249
jstack是java虚拟机自带的一种堆栈跟踪工具。 基本介绍 编辑 基本介绍 jstack用于生成java虚拟机当前时刻的线程快照。线程快照是当前java虚拟机内每一条线程正在执行的方法堆栈的集合,生成线程快照的主要目的是定位线程出现长时间停顿的原因,如线程间死锁、死循环、请求外部资源导致的长时间 ...
分类:
Web程序 时间:
2016-05-13 14:18:38
阅读次数:
254
除了集成式的VisualVM和JConsole外,JDK本身还提供了如jps、jstack、jmap、jhat、jstat等性能调优监控工具。在Java开发中,有时候我们会碰到下面这些问题:OutOfMemoryError,内存不足内存泄露线程死锁锁争用(Lock Contention)Java进程消耗CPU过高……这些问题在日常开发中可能被很多人忽视(比如有的人遇到上面的问题只是重启服务器或者调大...
分类:
Web程序 时间:
2016-05-12 18:20:20
阅读次数:
177
jps -l 获取进程列表 jstack -l 8672 查看详细信息 查找启动任务的class 查看状态 ...
分类:
系统相关 时间:
2016-05-09 12:24:33
阅读次数:
167
果通过指令的话,一般先调用jps查看到具体的pid,然后调用jstat来查看运行时的内存,以及GC的频率等,然后通过jstack查看线程是有阻塞、死锁、循环等,最后通过jmap生成的堆快照进行分析内存溢出的地方。 使用可视化工具的话: 如果是jConsole,可以通过内存窗口查看堆以及各个部分的内存 ...
分类:
其他好文 时间:
2016-05-08 11:37:32
阅读次数:
488
1.生产环境的异常现象及初步分析最近发现系统程序内存消耗越来越大,开始并没特别注意,就简单调了一下jvm参数。但直到前些天内存爆满,持续FullGC,这肯定出现了内存泄露。原以为哪里出现了比较低级的错误,所以很直接想到先去看看程序是在跑哪段代码。jstack-l<pid>以..
分类:
编程语言 时间:
2016-04-27 11:04:44
阅读次数:
333
VisualVM是一个免费的Java应用监控、分析工具。 简单说来,VisualVM是一种集成了多个JDK命令行工具的可视化工具,它能为您提供强大的分析能力。所有这些都是免费的!它囊括的命令行工具包括jstat, JConsole, jstack, jmap 和 jinfo,这些工具与JDK的标准版... ...
分类:
其他好文 时间:
2016-04-18 15:21:26
阅读次数:
285