jstat可以实时显示本地或远程JVM进程中类装载、内存、垃圾收集、JIT编译等数据。如果要显示远程JVM信息,需要远程主机开启RMI支持,详情见下文。


  1.  创建jstatd服务器授权文件jstatd.all.policy,代码如下,然后将改文件放到Java/bin目录下。


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

   permission java.security.AllPermission;
};


  2. 切换到java/bin目录下,启动Jstatd服务器


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


  3. 如若出现端口占用问题,在启动jstatd服务器时选择其它端口。


//查看端口是否被占用


netstat -ano | grep -i 1099


//启动jstatd服务器时,指定其它端口


rmiregistry 2030 & jstatd -J-Djava.security.policy=jstatd.all.policy -p 2030


  4. jstatd服务器启动成功后,在VisualVM添加Jstatd服务器地址,就会自动连接成功,并获取服务器的CPU,内存,线程等信息。


VisualVM使用Jstatd远程监控服务器_第1张图片

  5. 关于Jstatd的详细信息,请点击这里