线上JVM调查工具:JCPU和JMEM

标签: 线上 jvm 工具 | 发表时间:2014-05-07 17:05 | 作者:
出处:http://2014.54chen.com/

以下内容由 [五四陈科学院]提供

之前的jkiller改名为jcpu,然后再加上jmem,齐活了,线上要再遇到问题,内存和CPU之外的也没啥其他办法了。

JMEM

https://github.com/54chen/jmem

用来定位莫名其妙的堆外内存问题。首先还是要先用jmap之类的看清楚是否是JVM堆内问题了再用此神物。

jmem.sh 用来靠gdb找到够大的内存块,直接dump到文件里。然后肉眼看吧。。。反正我没看出来,祝你好运。

pmap2stack.sh 弄出来大块的内存地址后,尝试在各种stack中帮你grep出来可以读懂的东东。

JCPU

https://github.com/54chen/jcpu

这个之前有介绍过,就是cpu占得比较猛的进程,直接打出来里面最费CPU的前五个堆栈。

具体用法都在项目的README上。


想快点找到作者也可以到Twitter上留言: @54chen
或者你懒得带梯子上墙,请到新浪微博: @54chen

相关 [线上 jvm 工具] 推荐:

线上JVM调查工具:JCPU和JMEM

- - 五四陈科学院
以下内容由 [五四陈科学院]提供. 之前的jkiller改名为jcpu,然后再加上jmem,齐活了,线上要再遇到问题,内存和CPU之外的也没啥其他办法了. 用来定位莫名其妙的堆外内存问题. 首先还是要先用jmap之类的看清楚是否是JVM堆内问题了再用此神物. jmem.sh 用来靠gdb找到够大的内存块,直接dump到文件里.

JVM问题定位工具

- - 四火的唠叨
文章系本人原创,转载请保持完整性并注明出自 《四火的唠叨》. JDB是基于文本和命令行的调试工具,Jikes在JDB的基础上提供了GUI. 熟悉JDB还是有价值的,很多情况下需要我们在命令行下完成简单的debug问题定位. 我们可能更熟悉使用下面这样的方式来进行调试,但本质上就是在使用JDB:.

线上jvm进程CPU load高排查脚本-jkiller

- - 五四陈科学院-坚信科学,分享技术
以下内容由 [五四陈科学院]提供. 如果遇到线上java进程占用过多的cpu,可以用这个脚本来帮助你快速找到代码的问题. 先用top或者是jps定位占用cpu过多的java进程的pid是多少. 然后执行如下过程即可得到结论:. *centos系统下测试通过. 想快点找到作者也可以到Twitter上留言: @54chen.

jvm 性能调优工具之 jmap - 简书

- -
命令jmap是一个多功能的命令. 它可以生成 java 程序的 dump 文件, 也可以查看堆内对象示例的统计信息、查看 ClassLoader 的信息以及 finalizer 队列. pid:需要打印配置信息的进程ID. executable:产生核心dump的Java可执行文件. core:需要打印配置信息的核心文件.

JVM性能调优监控工具专题二:VisualVM基本篇之监控JVM内存,CPU,线程

- - ITeye博客
        上一个专题中讲述了JVM中自带的各种性能测试的小工具:包括jps,jstatck,jmap,jhat,jsats,hprof.         这样会造成不必要的麻烦,难道就没有一个tool可以 包括如上所有的功能. 答案是有的,自从 JDK 6 Update 7以后,提供了一全新的性能检测工具:VisualVM,VisualVM对运行中的Java应用提供了可视化的信息展示, 它是很多工具的整合包,整合了JConsole,jstat,jinfo,jstack以及jmap.

JVM 内存分析工具 MAT 的深度讲解与实践——进阶篇

- - 掘金后端本月最热
注:本文原创,转发需标明作者及原文链接. 【0广告微信公众号:Q的博客】. 本系列共三篇文章, 本文是系列第2篇——进阶篇,详细讲解 MAT 各种工具的 核心功能、用法、适用场景,并在具体实战场景下讲解帮大家学习如何针对各类内存问题. JVM 内存分析工具 MAT 的深度讲解与实践——入门篇》 介绍 MAT 产品功能、基础概念、与其他工具对比、Quick Start 指南.

JVM研究

- - 开源软件 - ITeye博客
每天接客户的电话都是战战兢兢的,生怕再出什么幺蛾子了. 我想Java做的久一点的都有这样的经历,那这些问题的最终根结是在哪呢. JVM全称是Java Virtual Machine,Java虚拟机,也就是在计算机上再虚拟一个计算机,这和我们使用 VMWare不一样,那个虚拟的东西你是可以看到的,这个JVM你是看不到的,它存在内存中.

jvm调优

- - 互联网 - ITeye博客
printf "%x\n" 21742  找到耗时最长的进程. jstack pid | grep 54ee  定位某个类的方法. jstack 10535|grep -A 10 2a1d (最后十行). jmap 查询pid 内存线程. 附:TOP命令中需要关注的值:. (1)load average:此值反映了任务队列的平均长度;如果此值超过了CPU数量,则表示当前CPU数量不足以处理任务,负载过高.

JVM性能调优监控工具专题三:VisualVM基本篇之快照分析、监控GC、Eclipse集成

- - 行业应用 - ITeye博客
上一个专题专门举例说明了使用VisualVM进行远程监控以及对Tomcat的远程监控,如果有兴趣,可以查看:. 该专题将讲解如何使用VisualVM生成快照、以及如何对JVM的GC进行监控,最后举例说明如何将VisualVM和eclipse进行集成. 我们可以使用 VisualVM 的快照功能生成任意个性能分析快照并保存到本地来辅助我们进行性能分析.

学习JVM的References

- LightingMan - 淘宝JAVA中间件团队博客
本blog中列举了我学习JVM的references,会不断的更新,为了避免版权问题,就不在blog上提供references的下载了,感兴趣的同学可自行下载或购买,:). |— [ Hotspot GC论文 ]. |— [ 其他JVM GC ]. |— Linux内核源代码情景分析. |— Linux 内核中断内幕.