jvm的监控仍是要掌握一下的,由于jvm是核心,须要可以随时了解jvm的运行状态,包括线程,内存等,本地监控就不说了,主要是远程监控,仍是有实际意义的java
jvm提供了两种链接方式:tomcat
这个比较简单,在启动的时候加入一下参数,无论是tomcat启动仍是java -jar启动都同样安全
-Djava.rmi.server.hostname=xx.xx.xx.xx -Dcom.sun.management.jmxremote.port=1111
-Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false
xx.xx.xx.xx是这台服务器的IP,1111是端口号,注意相关防火墙,安全组这些东西
复制代码
而后启动以后 在你本地的jdk的安装包的bin下面,有个jvisualvm.exe,点击启动 bash
推荐用这个,为何呢,由于它支持一个很是好用的插件,visualGC插件服务器
工具>插件>可用插件>visualGC 安装好,若是是jmx链接,会以下显示jvm
permission java.security.AllPermission;
复制代码
网上许可能是本身新建一个policy文件,而后加上这句话,也能够 工具
./jstatd -J-Djava.security.policy=xx/xx/java.policy -J-Djava.rmi.server.hostname=xx.xx.xx.xx &
复制代码
-J-Djava.security.policy=后面的是文件的绝对路径
-J-Djava.rmi.server.logCalls=true 打开日志,若是客户端有链接过来的请求,能够监控到,便于排错
-J-Djava.rmi.server.hostname=192.168.36.6 指明本机hostname对应的本机地址,确保该地址能够给客户机访问. 由于有的服务器hostname对应的ip不必定是外网能连上的 .最好在这里直接明确指定
-p 1200 指定服务的端口号,默认是1099 .也是可选参数
复制代码
而后大功告成,右键添加jstatd链接spa