ARTHAS

Arthas:

Arthas是一款阿里巴巴开源的 Java 线上诊断工具,功能非常强大,可以解决很多线上不方便解决的问题。Arthas诊断使用的是命令行交互模式,支持JDK6+,Linux、Mac、Windows 操作系统,命令还支持使用 tab 键对各种信息的自动补全,诊断起来非常利索。

  • 从官网可以知道Arthas有以下一些特征
  • 检查是否加载了类,或在哪里加载了类。(对于解决jar文件冲突很有用)
  • 反编译一个类以确保代码按预期运行。
  • 查看类加载器统计信息,例如,类加载器的数量,每个类加载器加载的类的数量,类加载器的层次结构,可能的类加载器泄漏等。
  • 查看方法调用详细信息,例如方法参数,返回对象,引发的异常等。
  • 检查指定方法调用的堆栈跟踪。当开发人员想知道所述方法的调用者时,这很有用。
  • 跟踪方法调用以查找慢速子调用。
  • 监视方法调用统计信息,例如qps,rt,成功率等。
  • 监视系统指标,线程状态和cpu使用情况,gc统计信息等。
  • 支持命令行交互模式,并启用了自动完成功能。
  • 支持telnet和websocket,可通过命令行和浏览器启用本地和远程诊断。
  • 支持分析器/火焰图
  • 支持JDK 6+。
  • 支持Linux / Mac / Windows。

thread: cpu占用情况

thread 73: 检查 id 73 的线程栈,

LINUX 原生:

top ps jstack jps