诊断工具
Java老K
十年java老兵,现就职上海某一线互联网大厂,专注java技术,包括多线程并发,RXjava,JVM,Spring,Springboot,DDD,分布式中间件Dubbo,kafka,redis,微服务等,不定期分享面试题和业界最新动态以及人生感悟。
展开
-
Windows环境下如何进行线程dump分析
现在大部分公司都有自己完整的一套监控系统,比如美团的CAT,我们公司的监控系统也是基于CAT做的二次开发。一般测试环境或生产环境有问题可以直接使用这些系统查看线程和内存运行情况,分析排查问题。但对于我们开发人员来说还是有必要了解最原始的排查流程,也就是不借助这些系统,使用最基本的命令解决,毕竟了解了这些底层实现对自身发展也是有帮助的。网上这样的文章其实很多,比如排查cpu过高,死锁问题的文章,...原创 2020-04-11 18:21:31 · 1443 阅读 · 0 评论 -
JVM Metaspace内存溢出排查与总结
一. 现象前段时间公司线上环境的一个Java应用因为OOM的异常报警,导致整个服务不可用被拉出集群,本地模拟重现的现象如下:当时的解决方案是增加metaspace的容量:-XX:MaxMetaspaceSize=500m,从原来默认的256m改为500m,虽然没有再出现oom,但这个只是临时解决方案,通过公司的监控系统观察metaspace的使用情况还是在上升,而且后面随着业务访问量越来越大...原创 2020-04-11 17:58:08 · 7855 阅读 · 0 评论 -
Java在线诊断利器之Arthas
一. 简介Arthas是阿里在2019年9月份开源的一款java在线诊断工具,能够分析、诊断、定位java应用问题,例如:jvm信息、线程信息、搜索类中的方法、 跟踪代码执行、观测方法的入参和返回参数等等。Arthas最大的特点是能在不修改代码和不需要重新发布的情况下,对业务问题进行诊断,包括查看方法调用的出参入参、异常、监测方法执行耗时、类加载信息等,大大提升线上问题排查效率。二. 适用...原创 2020-04-07 23:01:41 · 2285 阅读 · 0 评论