Arthas之Linux实践
注意:要用Java进程拥有者去运行arthas ,否则权限不够无法监听
--查看Java进程拥有者
ps -ef | grep java | awk {'print $1'}
--通过grep过滤查看并确认Java进程号
ps -ef | grep java | awk {'print $2'}
如用 herman 离线安装 arthas
Linux: jar包放 /home/herman/arthas-boot.jar
Linux 环境临时指定JDK
export PATH=/var/local/oracle-jdk1.8/bin:$PATH
Window:
首先lib包放在 c:\Users\herman\.arthas 然后才能象Linux一样运行 java -jar arthas-boot.jar
CMD下临时指定JDK方法
set JAVA_HOME=D:\oracle-jdk1.8
set Path=%JAVA_HOME%\\bin
java -jar arthas-boot.jar
--开启日志
[arthas@44607]options save-result true
--关闭日志
[arthas@44607]options save-result false
日志会异步保存在 {user.home}/logs/arthas-cache/result.log;
#参数-x代表遍历二3代表三层
watch com.hr.SyncSchoolService _addNewPosition '{params[0],params[1],returnObj}' -x 3
常见问题
1、默认情况下,Microsoft的Windows操作系统中的telnet客户端被禁用
通过命令行启用telnet客户端
在命令提示符下使用管理员权限运行以下命令。
dism / online / Enable-Feature / FeatureName:TelnetClient
2、查看Java pid
在Windows的CMD控制台或者Linux终端下执行“jvisualvm”命令进入Java VisualVM工作台。
鼠标双击左侧树形进程列表中某一进程(PID即为进程ID),对比任务管理器即可知道不同java进程对应的pid