jconsole/JVisualVM连接linux服务器查看JVM使用情况

现需要在本地电脑上查看服务器的tomcat的整体的运行状态,使用jconsole工具.

JMX配置

  1. 拷贝$JAVA_HOME/jre/lib/management/目录下的 jmxremote.access , jmxremote.password 到tomcat的conf目录下
  2. 修改access,password文件使用权限为700
  3. 设置password文件,在文件最后添加用户名密码. eg:jmxuser jmxpwd
  4. 设置access文件,注释掉原有monitorRole,controlRole. 添加新用户名及权限. eg:jmxuser readwrite
  5. 修改catalina.sh,添加jmx配置如下:
  6. 重启tomcat,使用jconsole连接
 # ----- Execute The Requested Command -----------------------------------------
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote -Djava.rmi.server.hostname=8.8.8.8 #访问host地址
-Dcom.sun.management.jmxremote.port=10207
-Dcom.sun.management.jmxremote.authenticate=true #是否需要密码
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.access.file=/usr/local/tomcat/apache-tomcat-commensec/conf/jmxremote.access
-Dcom.sun.management.jmxremote.password.file=/usr/local/tomcat/apache-tomcat-commensec/conf/jmxremote.password" export JAVA_OPTS

注意事项

  1. 如果不需要配置访问的权限,如内网使用zabbix进行监控,可以不用配置access和password文件. 配置 authenticate=false 即可.
  2. 在JAVA_OPTS的配置中,网上有资料是没有-Dcom.sun.management.jmxremote -Djava.rmi.server.hostname=hostIP的.我在配置的时候发现如果没有此参数,那么我本地jconsole无法连接到服务器
  3. JVisualVM插件中心地址已经改为:https://visualvm.github.io/pluginscenters.html
  4. visual gc本地可用,远程:不受此jvm支持

    这里需要注意,如果要使用Visual GC 需要在服务器上开启jstat.开启步骤

    1. 启动RMI服务

      首先,配置java安全访问,在服务器jdk路径(/java_home/bin)下新建文件名称: jstatd.all.policy 内容如下:
      grant codebase "file:${java.home}/../lib/tools.jar" {
      permission java.security.AllPermission;
      };
    2. 通过如下的命令启动RMI服务:
      1. ./jstatd -J-Djava.security.policy=jstatd.all.policy
      2. ./jstatd -J-Djava.security.policy=jstatd.all.policy -J-Djava.rmi.server.hostname=8.8.8.8
    3. 然后在Visual VM中选择tomcat即可看到数据

jconsole使用记录的更多相关文章

  1. 【经验记录】Jconsole Jvisualvm 监控Tomcat

    环境:centos 6 1.首先检查hostname是否正确,输入以下命令 hostname -i 如果输出机器ip,则表示正确,如果输出 hostname: Unknown host 查看/etc/ ...

  2. JConsole远程连接配置

    JConsole远程连接还是有一点坑的.这里记录一下配置过程,好记性不如烂笔头. 1.在远程机的tomcat的catalina.sh中加入配置: JAVA_OPTS="$JAVA_OPTS ...

  3. 事故记录-过多进程致使CPU卡死

    早上到公司,发现邮箱内有报警信息显示CPU和IO使用都已超标.报警内容如下:主机: test-server-192.168.1.18 时间: 2015.11.15 15:25:17状态: PROBLE ...

  4. Jconsole: JAVA 监视和管理控制台简介

    Jconsole: JAVA 监视和管理控制台简介 JDK中除了提供大量的命令行之外,还提供两个功能强大的可视化工具:JConsole和VisualVM. 之前对java的调试一直停留在 右键-> ...

  5. JDK自带工具jps,jstat,jmap,jconsole使用

    jps 与ps命令类似: ps -ef|grep java 用来显示本地的java进程,查看本地执行着几个java应用,并显示进程号. [root@SE43 ~]# jps //仅仅显示进程号 238 ...

  6. (转载)Java自带的GUI性能监控工具Jconsole以及JisualVM简介

    原文链接:http://blog.csdn.net/chendc201/article/details/22905503 1 Jconsole 1.1 简介以及连接 JConsole是一个基于JMX的 ...

  7. JDK命令行(jps、jstat、jinfo、jmap、jhat、jstack、jstatd、hprof)与JConsole

    很多资料在介绍JDK命令行工具时并不是在Java8环境下,因此还在使用过时的永久区系列的参数,给一些读者造成困难. Java8使用Metaspace(元空间)代替永久区,对于64位平台,为了压缩JVM ...

  8. JDK记录-JVM原理与调优(转载)

    转载自<https://www.cnblogs.com/andy-zhou/p/5327288.html> 一.什么是JVM JVM是Java Virtual Machine(Java虚拟 ...

  9. 深入理解java虚拟机读后总结(个人总结记录)

    1.jvm布局:   jdk1.6版本JVM布局分为:heap(堆),method(方法区),stack(虚拟机栈),native stack(本地方法栈),程序计数器共五大区域. 其中方法区包含运行 ...

随机推荐

  1. 【距离GDOI:128天】【POJ2778】DNA Sequence(AC自动机+矩阵加速)

    已经128天了?怎么觉得上次倒计时150天的日子还很近啊 ....好吧为了把AC自动机搞透我也是蛮拼的..把1030和这道题对比了无数遍...最终结论是...无视时间复杂度,1030可以用这种写法解. ...

  2. 2016-2017 ACM-ICPC, Egyptian Collegiate Programming Contest (ECPC 16)

    A.The game of Osho(sg函数+二项展开) 题意: 一共有G个子游戏,一个子游戏有Bi, Ni两个数字.两名玩家开始玩游戏,每名玩家从N中减去B的任意幂次的数,直到不能操作判定为输.问 ...

  3. #!/bin/sh简介

    第一次学shell编程,看的文章中说shell程序必须以"#!/bin/sh"开始,也就认为是这样了,虽然知道在shell中以"#"开始的语句都是注释,但也从没 ...

  4. yii 用户登录验证(cwebuser) yii 用户登录 (记)

    yii 的确是一个强大而臃肿的框架,简单的小项目,或者只做后台接口调用的项目,建议不要用. 今天记录一下yii使用中cwebuser(Yii::app()->user->login())登 ...

  5. 学习webservice

    客户端测试页: WebService代码: using System; using System.Collections.Generic; using System.Linq; using Syste ...

  6. MFC CString GetBuffer/ReleaseBuffer 的使用条件

      今天为了通过串口往单片机里写一个16进制字符去控制单片机的adc的起停,结果糊涂到把'\x01'误写成'\0x01',怎么也得不到意想的结果,程序员有时候会犯低级错误,有时候怎么也跳不出去,这时候 ...

  7. JDK 8的依赖使用

    第一步:compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VER ...

  8. HTML+JavaScript制作表白特效,表白不成功,小编现场吃雪

    今年的雪特别美,长沙自从08年后的最大的一场学了,今天小编给大家制作一个表白特效,希望大家喜欢,如果你是程序员希望对你有帮助,追到你喜欢的女孩,哈哈~追不到对象,小编现场吃学给你大家看 下图是爱心飘落 ...

  9. CF978C Letters【前缀和+二分查找/几房几号】

    [链接]:CF978C [分析]:在前缀和数组种二分找到>=询问数的位置,根据位置就好操作了 [代码]: #include<bits/stdc++.h> using namespac ...

  10. Python_Tips[5] -> 可变数据类型作为初始化形参

    可变数据类型作为初始化形参 / Mutable Parameter as Init Formal-para 由于在Python中,没有类似C语言的static静态参数,因此当一个函数需要一个只初始化一 ...