Arthas
arthas是线上诊断 java应用的工具,可以查看gc, 内存,cpu, 线程等信息,还可以查看方法的入参,返回结果,以及统计方法的耗时,这对线上定位问题是比较友好的。今天让我们来一起看看这些常用的命令怎么使用吧。
欢迎关注公众号:Java面试教程 ,回复关键字qqq,领取2023最全面试大全资料 (包含面试通关手册,java项目,知识总结手册,Java生态知识体系)
启动arthas后会列出所有当前机器运行的java应用,输入应用对应前面的序号,按回车键,arthas就可以attach到该应用上了:
ps: 如果attach失败,可以到目录~/log/arthas,查看日志具体原因
当前应用的实时监控信息
如下图所示,可以从该命令看出线程的cpu使用率;jvm内存的使用情况;运行的操作系统和jdk版本等信息
查看阻塞线程(可以排除死锁问题)和占用cpu使用率最多的前N个线程(可以排除线程占用cpu高问题)
可以将字节码反编译成java代码,这在升级时,如果发现修改的功能无效,可以通过这个命令反编译代码查看是否是最新的程序包
对方法执行的监控
输出方法的调用路径,并统计每个方法的耗时
输出方法的入参和出参,以及抛出的异常
本文讲述了arthas的安装和常用命令的使用,不需要修改和重启应用,对分析线上问题是十分便利的,强烈安利大家用起来!
举报/反馈