其他
走完线上 Bug 定位最后一公里
一个小故事
周末 12 点的闹钟在回龙观均价 3000 的出租屋急促的响起,程序员小A慵懒的拿过手机,滑开手机通知栏,没有未接电话,点开手机的拦截信箱,没有报警短信,昨晚的发布一定很顺利。小A幸福的伸了个懒腰。戴上 3000 块的 BeatsSolo Pro,音乐逐渐响起来,小A缓缓的闭上了眼睛,正午的阳光从窗户漫进来,撒在小A稀疏的头发上。此时的小A正在脑海中勾勒着自己美好的未来。房东说:十年前住在这间屋的小B,现在已经是某度的 T10 大佬,五年前住在这儿的小T,现在已经在某条带领 200 人的团队,想到这儿,小A的嘴角微微上扬,那我也一定不会太差吧~
一个小总结
聊一聊 ARMS
JVM 概览:查看实时的 JVM 内存、GC 信息以及操作系统信息、环境变量、系统变量等信息。 线程耗时分析:查看实时的线程耗时情况,并可查看每个线程实时的方法堆栈。 方法执行分析:实时的抓取满足指定条件的方法执行明细、出入参数以及异常。 性能分析:快捷的通过火焰图的的形式,展示系统性能瓶颈。
聊一聊 ARMS Arthas 诊断
方法执行不符合预期:包括方法执行耗时、方法返回值、方法抛出了异常等情况,表现在应用上可能是一些接口或者服务的 RT 增高,错误率增高,返回值异常等。 进程 CPU 耗时突增:一般有代码死循环问题、FullGC 导致 GC 线程耗时高、并发使用 HashMap 等。 性能优化问题:主要用于分析性能瓶颈,辅助性能优化,包括 CPU 耗时、内存分配、锁竞争、itimer 等情况的性能分析。 其他问题:比如初始化环境变量读取错误、内核版本不符合要求、类冲突等问题。
利用 ARMS Arthas 诊断方法执行不符合预期类问题
图 4
写在最后
﹀
﹀
﹀
推荐阅读