本地监控:本地应该是启动之后,自动可以监控cpu和内存等,安装完插件后可以监控gc。
如果有提示“不受此jvm支持”,
1)解决办法是右键以管理员身份登录。
2)由于jvisualvm默认使用windows的tmp路径,所以可以选择加一个CATALINA_TMPDIR环境变量,指向windows的默认temp路径(win7):%USERPROFILE%\AppData\Local\Temp
远程监控
远程监控JVM,weblogic的配置:
1, 本地和远程都用一致的jdk版本。
2, 在远程weblogic 上配置domain/bin/setDomainEnv.sh中配置如下。
3, 如果配置成功,在启动weblogic时,可以看到配置成功:
4, 同时用命令查看:
5, 配置如下:
6,在${java_home}/jre/lib/management/下的jmxremote.password (复制jmxremote.password.template出来的) jmxremote.password.template里 设置密码:
6, 在etc/hosts 和 /etc/sysconfig/network下设置如下:
7, 设置完成后,查:
8, 关闭防火墙:
9, 本地java virsual VM 远程连接服务器:
10, 创建jstatd 连接:
问题描述:VisualVM连接远程服务器有两种方式:JMX和jstatd,两种方式都不能完美支持所有功能,例如JMX不支持VisualGC,jstatd不支持CPU监控,实际使用可同时配置上并按需选用。
下面介绍如何配置jstatd连接方式,实现使用visualgc插件查看远程服务器上java程序的gc情况:
1.修改远程服务器上java设置
vi $JAVA_HOME/jre/lib/security/java.policy
在文件末位的 }; 前添加
permission java.security.AllPermission;2.cd $JAVA_HOME/bin
./jstatd -J-Djava.security.policy=jstatd.all.policy -J-Djava.rmi.server.hostname=192.168.2.3(远程服务器IP)
3.本地启动VisualVM,因为在配置JMX时已经添加过服务器节点,如果配置正确,通常VisualVM会自动检测到jstatd连接并添加节点
11, 添加GC插件:
jdk1.7自带jvisualvm可以对java应用进行监控。其中有个插件visualgc可以查看jvm垃圾回收的具体信息。安装插件的步骤是打开jvisualvm,点击工具->插件,在可用插件列表找到Visual GC进行安装,结果提示无法安装。在浏览器打开链接访问一下,发现java.net网站已经被Oracle关闭了。正在抓狂间,偶然发现visualvm已经迁移到了github上,地址是https://visualvm.github.io/index.html
点击Plugins进入插件页面
因为我的jdk是1.7.0_67,所以找到对应插件更新地址
再次回到jvisualvm-》工具-》插件,找到设置,
把红色框中的url地址改成刚才找到的
(我这里已经改过了。原来的地址应该是)
修改之后,更新可用插件,安装即可。重启jvisualvm,发现多了一个visualgc项
注意jvisualvm里,要创建jstatd连接,jmx不支持visualgc。