线上Java应用排查和诊断规范_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > 线上Java应用排查和诊断规范

线上Java应用排查和诊断规范

 2013/9/26 18:50:45  zhengyun_ustc  程序员俱乐部  我要评论(0)
  • 摘要:@郑昀整理标准做法一:OOM触发HeadpDump目的:OOM发生时,输出堆栈快照文件,供研发人员分析。在JVM中,如果98%的时间是用于GC且可用的Heapsize不足2%的时候,将抛出OOM异常。配置操作:Resin/Tomcat配置文件里追加-XX:+HeapDumpOnOutOfMemoryError,当OutOfMemoryException错误发生时,会自动生成HeapDump文件。同时配置-XX:HeapDumpPath指定快照文件的实际路径。日志分析:HeapDump文件的分析
  • 标签:Java 应用

@郑昀 整理


标准做法一:OOM触发HeadpDump

目的:

OOM发生时,输出堆栈快照文件,供研发人员分析。

JVM中,如果98%的时间是用于 GC 且可用的 Heap size 不足2%的时候,将抛出 OOM 异常

配置操作:

Resin/Tomcat 配置文件里追加?-XX:+HeapDumpOnOutOfMemoryError?,当?OutOfMemoryException?错误发生时,会自动生成?Heap Dump?文件。

同时配置?-XX:HeapDumpPathclass="Apple-converted-space">?指定快照文件的实际路径。

日志分析:

Heap Dump文件的分析,可以使用?Eclipse Memory Analyzer tool(MAT)?分析。

?

标准做法二:系统负载高触发ThreadDump

目的:

系统负载大于10时,调用 jstack 命令,输出 resin 线程快照,供研发人员分析。

配置操作:

一分钟扫描一次。如果系统的一分钟负载值(load1)大于10,或者80端口的连接数大于80时,进行打印。

日志分析:

Thread Dump文件的分析,可以使用?Thread Dump Analyzer(TDA)分析。

?

可选做法三:年老代使用率高触发HeapDump

目的:

Java工程的 OU/OC?到报警阈值时,调用 jmap 命令,输出堆栈快照,供研发人员分析。

OC 当前年老代空间容量。Current old space capacity (KB).

OU 年老代利用情况。Old space utilization (KB).

配置操作:

Nagios 监控到特定工程的 OU/OC?大于80%时,自动执行命令:jmap –dump:file={filename},format=b pid

日志分析:

多个Heap Dump文件的对照,使用 VisualVM 的比较内存快照功能。

?

标准做法四:默认开启GC打印

目的:

打印 GC 详细信息,供研发人员分析。

-XX:+PrintGC:输出形式:[GC 118250K->113543K(130112K), 0.0094143 secs] [Full GC 121376K->10414K(130112K), 0.0650971 secs]

-XX:+PrintGCDetails: 输出形式:[GC [DefNew: 8614K->781K(9088K), 0.0123035 secs] 118250K->113543K(130112K), 0.0124633 secs] [GC [DefNew: 8614K->8614K(9088K), 0.0000665 secs][Tenured: 112761K->10414K(121024K), 0.0433488 secs] 121376K->10414K(130112K), 0.0436268 secs]

-XX:+PrintGCTimeStamps输出形式:11.851: [GC 98328K->93620K(130112K), 0.0082960 secs]

-Xloggc:filename:输出GC信息到日志文件。

配置操作:

Resin/Tomcat 配置文件里,增加如下参数:

<jvm-arg>-XX:+PrintGCTimeStamps</jvm-arg>

<jvm-arg>-XX:+PrintGCDetails</jvm-arg>

<jvm-arg>-Xloggc:/data/application/%ProjectName%/logs/gc.log</jvm-arg>

?

郑昀 2013

-over-

?


赠图一枚:

/Upload/Images/2013092618/30C719588AA14A57.jpg

?

发表评论
用户名: 匿名