新机器无法打开jvisualvm,报- environment variable DISPLAY is not set

我是在远程机器1上设置参数,在机器2上能打开界面

解决方案:

export DISPLAY=机器2的IP:0.0

xhost +

说明:xhost +也是一个命令,是说允许弹出界面,就好象win的临时允许弹出窗口。

在执行xhost +的时候报没有安装xhost 

安装步骤:

1、执行yum whatprovides "*/xhost",在最后找到安装包的名称

image.png

2、 yum -y install xorg-x11-server-utils-7.7-20.el7.x86_64

image.png


执行xhost +后还是报打不开,经过查看,没有安装图形服务。

安装步骤:

1、

image.png

2、image.png


在打开jvisualvm之前,要在目标机器上启动jstatd。

启动时报错是因为没有设置安全策略

image.png

解决方案:

1、vi jstatd.all.policy。添加以下代码。

 

grant codebase "file:${java.home}/../lib/tools.jar" {

    permission java.security.AllPermission;

};

2、然后重新启动:

nohup ./jstatd -J-Djava.security.policy=jstatd.all.policy &






  1. jvisualvm打开界面

  2. 查看远程linux的tomcat下面catalina.sh里配置的端口是多少,我这边是8090

  3. 查看tomcat启动后的pid   ps -ef|grep tomcat,我这边是7245

  4. 在jvisualvm左边目录选择远程右键添加添加远程主机

  5. 选择添加后的远程主机右键添加JMX连接,输入端口号8090

  6. 在自动生成的连接右键选择打开,查看pid是不是一致

  7. 可以监控cpu ,内存,堆,GC情况,类,线程等等