java 崩溃监控,Java 性能监控 - 蒋先生66的个人空间 - OSCHINA - 中文开源技术交流社区...

Java 性能监控

标签: 博客

[TOC]

整体思路

jvm 运行或崩溃时记录 dump,gc 日志

然后 visual vm ,gc 工具分析 排查问题

后期上实时监控系统,提前预防问题的发生。

jvm 崩溃日志

jvm 崩溃后会落日志,在java -jar 启动时加如下参数可以落日志到指定目录。

java -XX:ErrorFile=/logs/crash_err_%p.log -jar app.jar

在加这个命令时,只需将命令中的logs目录替换成你的目录即可

oom 落dump 文件

在java -jar 启动时加如下参数 :

java -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/logs -jar app.jar

只会落一次dump文件, 后续的oom报错,不再触发落dump 文件,但是如果dump过大,会对宿主机 IO造成一定影响,这个还好。

参数解释:

-XX:+HeapDumpOnOutOfMemoryError : oom时 落dump 文件

-XX:HeapDumpPath=/logs: dump 文件存储路径,和日志放一个目录即可

手动落dump 文件

堆dump 命令:

jps 获取pid

jmap -dump:format=b,file=/logs/heap.hprof pid

线程dump 命令:

jps 获取pid

jstack pid > /logs/1.tdump

gc 落日志

在java -jar 启动时加如下参数 :

java -Xloggc:/gclogs/`date +%F_%H-%M-%S`-gc.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintTenuringDistribution -XX:+PrintGCCause -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=30M -jar app.jar

核心参数解释:

-Xloggc : /gc日志存储目录/gc日志文件名称格式

-XX:NumberOfGCLogFiles=10 : gc文件总数10,超过将删除老的

-XX:GCLogFileSize=30M : gc文件大小,超过将生产一个新的文件,老的归档。

实时监控-预防

后期可以考虑用 zabbix,open-falcon 监控系统来实时监控,提前知道哪些应用内存高,cpu高了,可以提前排查问题,解决问题,而不是等到程序崩了才介入。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值