在线诊断工具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-pattern
/method-pattern
所渲染的方法调用路径,渲染和统计整个调用链路上的所有性能开销和追踪调用链路。
trace
能方便的帮助你定位和发现因RT高而导致的性能问题缺陷,但其每次只能跟踪一级方法的调用链路,目前暂时没有精力去解决往下几个层级的调用。
命令与arthas工具使用相同
ptrace命令
-
命令解释
命令为
trace
命令的强化版,通过指定渲染路径来完成对方法执行路径的渲染过程命令能主动搜索
tracing-path-pattern
所渲染的路径,渲染和统计整个调用链路上的所有性能开销和追踪调用链路。 -