jvisualvm_使用jstatd连接远程linux应用

【1】确定linux系统正确安装了ssh

  # sudo ps -e | grep ssh

  ①注意使用root,使用$会报如下错误:

  [appadmin@webcsuat2 ~]$ sudo ps -e | grep ssh

  [sudo] password for appadmin:   //此处输入appadmin 的登录密码

  appadmin is not in the sudoers file.  This incident will be reported.

  正确安装的话,会如下所示:

 

【2】配置安全访问文件

  ①新建 jstatd.all.policy(名称可以自拟,统一命名增加文件可读性)文件,置于JAVA_HOME/bin/文件夹下;

  注:当远程linux服务器上有多个jdk时,需要确定哪一个才是压测系统Java进程使用到的jdk环境,这时可以使用“ps -ef | grep java”来确定JAVA_HOME,如下,pid = 17268的进程为Java进程,/Data/software/jdk1.8.0_65/为正确的JAVA_HOME;

 

  ② jstatd.all.policy文件的内容如下;

grant codebase "file:${java.home}/../lib/tools.jar"{
permission java.security.AllPermission;
};

  ③启动远端jstatd,使用后台执行命令:jstatd -J-Djava.security.policy=jstatd.all.policy &,正确执行后,会回显一个后台进程pid,如下:

 

【3】使用jvisualvm连接远程linux

  ①添加远程主机:打开本地JDK/bin下的jvisualvm.exe应用程序后,“远程”→“添加远程主机”→输入“远程主机IP”进行添加;

  ②添加缺省jstatd连接:右击远程主机,选择“添加jstatd连接”,只需要添加缺省连接即可,默认端口为1099;

  即可监控远程Java进程:

posted @ 2017-08-17 19:36  天使未必在场  阅读(1277)  评论(0编辑  收藏  举报