在线诊断工具greys

启动Greys

  • 参数说明

    ./greys.sh <PID>[@IP:PORT]
    
    • **PID:**目标Java进程ID(请确保执行当前执行命令的用户必须有足够的权限操作对应的Java进程)

    • **IP:**目标服务器IP地址,当远程服务开启之后,其他人可以通过指定IP的形式加载到对应目标机器的Java进程中,从而实现远程协助。专门用于解决目标主机账号没有权限,但对方兄弟却非常需要你支援的时候。Greys允许多个用户同时访问,并且各自的命令不会相互干扰执行。

    • **PORT:**目标服务器端口号,设计端口号的初心则是希望解决同台机器上存在多个Java进程需要被Greys分析的情况,默认的端口号是3658,如果不做区分则会引起端口冲突

    • ./greys.sh 12345
    • JDK类支持

      JDK的类默认由BootstrapClassLoader负责加载,由于Greys自己也适用了大量的JDK类,所以我不建议使用Greys直接对JDK相关类进行增强、代理。

      默认而言,Greys会拒绝执行关于JDK类的操作命令。你需显式用options命令打开

help命令

help命令会是你第一个在Greys中使用的命令,也会是今后使用最频繁的命令之一,当你在使用的过程中有任何不熟悉的疑问,请直接help吧~

  • 查看命令清单

    进入Greys的欢迎界面后,所有命令都可以通过help获取帮助。此时你直接输入一个help,Greys则会返回所有命令的大概用途介绍。

trace命令

命令能主动搜索class-patternmethod-pattern所渲染的方法调用路径,渲染和统计整个调用链路上的所有性能开销和追踪调用链路。

trace能方便的帮助你定位和发现因RT高而导致的性能问题缺陷,但其每次只能跟踪一级方法的调用链路,目前暂时没有精力去解决往下几个层级的调用。

命令与arthas工具使用相同

ptrace命令

  • 命令解释

    命令为trace命令的强化版,通过指定渲染路径来完成对方法执行路径的渲染过程

    命令能主动搜索tracing-path-pattern所渲染的路径,渲染和统计整个调用链路上的所有性能开销和追踪调用链路。

from 蜡笔没了芯
原文地址:https://www.cnblogs.com/labimeilexin/p/15464677.html