jvm
文章平均质量分 77
a155365124
这个作者很懒,什么都没留下…
展开
-
JVM Crash排查分享 - 爆栈
一. JVM爆栈爆栈是JVM Crash的一种案例,意思是JVM 的栈满(StackOverFlow),使得方法无法获取栈空间,而导致应用crash。爆栈是StackOverFlow的一种,只不过上层调用的是本地方法,才有可能导致出现crash,而非Native方法,则会直接抛出StackOverFlow OOM错误。如果要分析JVM Crash的原因,需要结合Core文件可以定位导致...原创 2013-05-02 16:56:35 · 1384 阅读 · 0 评论 -
深入学习jvm调试
一. 背景写代码和线上维护时,调试功能是必不可少的,经常在应用程序启动脚本中看到如下配置:JAVA_DEBUG_OPT=" -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=9108,server=y,suspend=n " 这几参数中,对address相对熟悉一点,...原创 2013-09-23 16:28:56 · 385 阅读 · 0 评论 -
Shallow and retained sizes
Reference from : http://www.yourkit.com/docs/java/help/sizes.jsp YourKit Java Profiler is capable of measuring shallow and retained sizes of objects. Shallow size of an object is the amount ...原创 2013-09-24 09:26:05 · 130 阅读 · 0 评论 -
jvm内存模型分析工具-MAT
mat是一款jvm内存模型分析工具,是排查jvm内存泄露/溢出问题的利器,功能非常强大。它能够列出对内存的对象列表,实例个数,类个数,classloader,shallow size和retain size等等。另外,mat能够生成leak report,帮助你分析可能存在的问题。前段时间,线上发生一次jvm内存泄露的故障,当时排查了很长时间才定位问题。后来,在研究mat时,发现leak r...原创 2013-09-26 10:29:12 · 241 阅读 · 0 评论 -
通过top和jstack确定哪些线程耗尽了CPU?这些线程在做什么?
1. 背景有时,线上集群load会突然飙升,无法响应正常请求。那么引起load飙升的线程究竟在做什么?哪些线程霸占了CPU?可以通过top和jstack命令进行定位。 2. 定位步骤1. 使用终端1进入目标机器,执行top命令,默认是进程视图,其中PID是进程号,截图如下: 在这里,我们只能看到java进程占用CPU达到115%,那么究竟是那些线程非常耗CPU呢?...2013-10-18 17:45:33 · 210 阅读 · 0 评论