记Arthas实现一次CPU排查与代码热更新
本文介绍如何使用Arthas排查线上Java应用CPU占用过高问题,结合thread、watch、jad等指令定位阻塞线程与异常代码,实现无需重启服务的热更新修复,并通过profile生成火焰图进行性能分析,提升线上问题排查效率。
Arthas之WatchSql
在使用Arthas排查线上问题的时候,有些时候我们需要查看某些Sql的生成,如果线上没有完备的APM的话,那么如何临时查看呢,前几篇文章我们分析了Mybatis的插件机制,如果你还记得的话,我们可以通过watch这个插件进行查看。
HSF Serialize response error on provider side
项目组的应用在HSF Consumer调用HSF Provider时遇到异常。问题源于HSF Provider端序列化响应数据时发生的错误,具体为`com.taobao.hsf.com.caucho.hessian.io.ContextSerializerFactory.getCustomSerializer`方法中的`Class.forName`调用抛出了`NullPointerException`。通过Arthas工具的`watch`命令监控并分析异常堆栈,发现异常发生在尝试获取自定义序列化器的过程中。