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:

# vi /etc/java-7-openjdk/management/jmxremote.password
monitorRole  QED
controlRole   R&D

 CentOS:

# 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&D

2.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连接-->补全端口,确认即可

Java VisualVM远程监控JVM相关推荐

  1. linux远程visualvm,visualVM远程监控JVM详解

    对于完全没用使用过visualVM的初学者 环境:Windows PC上使用visualVM监控远端JVM @@@@jstatd方式连接@@@@ 1.Windows安装jdk,$JAVA_HOME/b ...

  2. java visualvm远程监控_深入理解JVM虚拟机12:JVM性能管理神器VisualVM介绍与实战

    本文转自互联网,侵删 本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl/Java-Tutori ...

  3. VisualVm远程监控JVM(jstatd)

    一.添加远程主机 VisualVm在jdk中,目录:Java\jdk1.8.0_102\bin,找到jvisualvm.exe. 端口默认为1099无需更改,若启动statd时指定了端口号,则填写自定 ...

  4. java visualvm远程监控_如何监控和诊断堆外内存使用

    如何监控和诊断堆外内存使用 可以使用综合性的图形化工具,如 JConsole.VisualVM ,这些工具比较直观,直接连接到 Java 进程,图形化界面. 可以使用命令工具进行查询,如 jstat ...

  5. 使用visualvm远程监控LINUX服务器JVM

    使用visualvm远程监控LINUX服务器JVM 一.JMX方式: 1. 首先要修改JDK中JMX服务的配置文件,以获得相应的权限: 进入$JAVA_HOME所在的根目录的/jre/lib/mana ...

  6. 使用VisualVM、JMC远程监控JVM

    2019独角兽企业重金招聘Python工程师标准>>> 简介 VisualVM is a visual tool integrating commandline JDK tools ...

  7. jprofiler远程监控JVM( spring boot项目)

    服务器的服务出现莫名其妙的假死问题,没有出现报错或者异常信息.需要通过工具来远程监控项目 大概步骤如下 安装版本号一致的jprofiler 如果使用docker 容器运行项目的需要进入docker 容 ...

  8. linux jmx 端口,JMX远程监控JVM

    远程监控JVM状态需要在JVM启动的时候需要加上一段代码开启这个功能.(以下全部以Ubuntu-14-04-server.jdk1.8.tomcat7.0环境为基础) 配置的时候分两种情况:1.无需配 ...

  9. 基于Java的远程监控系统

    基于Java的远程监控系统 功能点: 1.监控桌面 2.文件上传,下载 3.鼠标.键盘等功能 4.命令行控制 1.桌面 2.文件上传下载 3.鼠标.键盘等功能 略 4.命令行控制 输入命令行 cont ...

最新文章

  1. 迷宫搜索问题最短路_[源码和文档分享]基于C语言实现的勇闯迷宫游戏
  2. 解决某东对ip限制若兰(nolanjdc)无法获取短信验问题
  3. excel公式中更正错误 #N/A
  4. 饿了么口碑活跃用户增长近美团3倍,2020年行业竞争局势将扭转?
  5. SpringBoot集成Eureka导致返回结果由json变为xml解决方案
  6. 如何直观地解释 back propagation 算法?
  7. MySQL集群搭建——主备模式
  8. Spring Boot和Hibernate:打印查询和变量
  9. Codeforce Flea CodeForces - 32C 规律|思维
  10. Java的数据类型及其封装器类
  11. sencha touch 彩色图标按钮(button+ico)
  12. android 设置drawable大小,在Android中调整Drawable大小
  13. 集训被虐第一天7.31
  14. Dell Inspiron 14 3437装win7系统没有网卡驱动解决办法
  15. 全面了解三极管——三极管用作开关管1
  16. 单层感知器python_深度学习之(神经网络)单层感知器(python)(一)
  17. 编码格式检测(中文乱码问题)
  18. Js Switch语句
  19. Error: The project seems to require yarn but it‘s not installed
  20. 高通开发系列 - Unpacking Tools拆包工具的制作

热门文章

  1. 伯克利人工智能导论课开放:视频、PPT和练习都在这 | 资源
  2. AI版“大家来找茬”上线,究竟谁是真人,谁是GAN生成的假脸?
  3. 旷视发布3D感知全栈解决方案!现在,AI+3D只差杀手级应用了
  4. 帮中国修长城前,英特尔还用AI追踪北极熊、保护鲸鱼
  5. Uber宣布停止无人卡车项目,研发重心将转向无人小汽车
  6. 小米开源移动端深度学习框架MACE,自主研发,专为IoT设备优化
  7. 一头盔一电极,MIT机器人读心完毕
  8. H5 FileReader对象
  9. 利用第三方工具上传文件
  10. Tokyo Tyrant优势