Java VisualVM远程监控JVM
2015-01-25 09:47
381 查看
VisualVM是一个以监控、显示本地或者远程服务器JVM工作情况,进行性能调优的工具。借助VisualVM,我们可以实现对JVM内存各个子池、CPU、垃圾收集器等方面进行监控,从而发现程序代码中潜在的泄露点和配置问题。
远程监控Linux JVM有两种连接方式:
CentOS6.5安装:yum install java-1.8.0-openjdk java-1.8.0-openjdk-devel
Ubuntu12.04安装:sudo apt-get install java-7-openjdk
方式1:通过Jstatd启动RMI服务
1.开启远程监控访问,将下面注释去掉,Ubuntu和CentOS JAVA安装路径不同,其他配置基本一样。
Ubuntu:
CPU图形没有显示,不受此JVM支持,目前还没找到原因,有知道的博友,还请告知下,谢谢!
方式2:JMX方式监控应用程序,我们以Tomcat为例(常用)
本文出自 “李振良的技术博客” 博客,请务必保留此出处http://lizhenliang.blog.51cto.com/7876557/1608005
远程监控Linux JVM有两种连接方式:
CentOS6.5安装:yum install java-1.8.0-openjdk java-1.8.0-openjdk-devel
Ubuntu12.04安装:sudo apt-get install java-7-openjdk
方式1:通过Jstatd启动RMI服务
1.开启远程监控访问,将下面注释去掉,Ubuntu和CentOS JAVA安装路径不同,其他配置基本一样。
Ubuntu:
# vi /etc/java-7-openjdk/management/jmxremote.password monitorRole QED controlRole R&DCentOS:
# cd /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.31-1.b13.el6_6.x86_64/jre/lib/management/ # cp jmxremote.password.template jmxremote.password # chmod 644 jmxremote.password # vi jmxremote.password monitorRole QED controlRole R&D2.jstatd以守护进程启动
# jstatd -J-Djava.rmi.server.hostname=192.168.1.156 & # Could not create remote object access denied ("java.util.PropertyPermission" "java.rmi.server.ignoreSubClasses" "write") java.security.AccessControlException: access denied ("java.util.PropertyPermission" "java.rmi.server.ignoreSubClasses" "write") at java.security.AccessControlContext.checkPermission(AccessControlContext.java:372) at java.security.AccessController.checkPermission(AccessController.java:559) at java.lang.SecurityManager.checkPermission(SecurityManager.java:549) at java.lang.System.setProperty(System.java:783) at sun.tools.jstatd.Jstatd.main(Jstatd.java:139)出现错误,说没有权限,于是百度一下,找到解决办法,就可以正常启动了,如下:
# cd /tmp # vi jstatd.all.policy grant codebase "file:${java.home}/../lib/tools.jar" { permission java.security.AllPermission; }; # jstatd -J-Djava.security.policy=jstatd.all.policy -J-Djava.rmi.server.hostname=192.168.1.156 &打开JVisualVM工具(默认端口1099)-->添加远程主机-->双机主机IP,即可监控
CPU图形没有显示,不受此JVM支持,目前还没找到原因,有知道的博友,还请告知下,谢谢!
方式2:JMX方式监控应用程序,我们以Tomcat为例(常用)
# cd /root/apache-tomcat-8.0.17/bin # vi catalina.sh #找到JAVA_OPTS,在下面添加,添加的位置并没要要求 #JAVA_OPTS="$JAVA_OPTS -Dorg.apache.catalina.security.SecurityListener.UMASK=`umask`" JAVA_OPTS="$JAVA_OPTS-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9999 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=192.168.1.156" # ./startup.sh # netstat -antp |grep 9999 #查看端口是否监听打开JVisualVM工具-->添加远程主机-->在远程主机添加JMX连接-->补全端口,确认即可
本文出自 “李振良的技术博客” 博客,请务必保留此出处http://lizhenliang.blog.51cto.com/7876557/1608005
相关文章推荐
- 使用Java自带的VisualVM监控远程主机JVM内存使用情况
- 使用Java VisualVM监控远程JVM
- 使用Java自带的VisualVM监控远程主机JVM内存使用情况
- 使用Java VisualVM监控远程JVM
- 使用Java VisualVM监控远程JVM
- Java 进阶(二) 使用visualVM远程监控JVM
- 使用Java VisualVM监控远程JVM
- 使用Java VisualVM监控远程JVM(linux配置)
- 使用Java VisualVM监控远程JVM
- 使用Java VisualVM监控远程JVM
- 使用Java VisualVM监控远程JVM
- 使用Java VisualVM监控远程JVM
- 使用Java VisualVM监控远程JVM
- 使用Java VisualVM监控远程JVM
- 使用Java VisualVM监控远程JVM(远程服务器为linux配置)
- 使用Java VisualVM监控远程JVM
- 使用Java VisualVM监控远程JVM(linux配置)
- 【JVM】JSTATD结合Java VisualVM进行远程监控JVM运行情况(二)
- 使用监控工具Java VisualVM 远程分析 tomcat应用 JVM使用情况
- Java VisualVM监控远程JVM(详解)