jvm问题追踪_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > jvm问题追踪

jvm问题追踪

 2014/5/8 15:12:44  zhangzhj85  程序员俱乐部  我要评论(0)
  • 摘要:java新手在遇到jvm上的问题,很多时候都是不知所措,下面我介绍一下小问题(仅单机,web)查找的路子,其中有遇到各种jdk的工具都是,仅作为自己的工作备份,后续的会陆续增加。首先查看日志,webserver会有很多有用的日志,有些时候直接通过日志就可以搞定这些问题了日志看完了,我们就从运维的角度来定位问题,找到对应的web机器,top(loadaverage,cpu、内存)查看ctrl+h,找到对应的进程号转16进制,jstack14400|grep-A104015
  • 标签:问题 JVM

java新手在遇到jvm上的问题,很多时候都是不知所措,下面我介绍一下小问题(仅单机,web)查找的路子,其中有遇到各种jdk的工具都是,仅作为自己的工作备份,后续的会陆续增加。

?

首先查看日志,web server会有很多有用的日志,有些时候直接通过日志就可以搞定这些问题了

日志看完了,我们就从运维的角度来定位问题,找到对应的web机器,top(load average,cpu、内存)查看ctrl+h,找到对应的进程号转16进制,jstack 14400|grep -A 10 4015 ,定位到对应堆栈信息查看一下代码,找到对应的代码直接解决掉。多来几次就逮到了,普通的小问题就差不多解决了。

?

纠结原因常见的分析如下

1、cpu瞬间增加,大多数是项目中有大量的运算或者死循环到导致的。我们直接按照上面的步骤定位

2、不间断的gc,造成jvm的不可能用

3、磁盘满了,这个问题遇到过,尤其调试log的磁盘

4、线程死锁,这个定位问题很简单,可以直接jmx,检测一下就能定位到哪个线程死锁找到对应的代码片段

?

?

需要必须掌握的工具top、jps、jstack、jmap、jstat ?基本上能定位到简单的java问题了

发表评论
用户名: 匿名