目录 我理解的监控 代码异常监控 远程主机配置jmx 修改要启动的java程序启动参数(JVM_OPTS). 修改文件权限 启动jvisualvm 监控服务器上的java程序 jstatd 连接到远程JVM 启动jstatd服务 创建安全策略文件 启动jjstatd带参数 JMX连接与JStatD连接的区别 linux命令监控jvm程序 top命令查看各进程CPU占用率 进程中每个线程占用cpu情况 定位线程的运行情况 jstack -l [pid]查看所有线程信息 jstack -l [pid…
visualVM使用jstatd和jmx连接远程jvm及遇到的问题解决 JMX方式: 编辑Tomact里bin目录的catalina.sh . 在其头部加入 JAVA_OPTS=" -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=8998 这个端口可以改 -Dcom.sun.management.jmxremote.rmi.port=8998 -Dcom.sun.management.jmxremote.ssl…
jps.jstack.jmap.jhat.jstat.hprof 基于jmx可以开发web版本,方便压测的时候观测jvm以及线程的信息 ============================================= 压测可以明显观测到线程数.jvm虚拟机的使用情况以及程序的问题…
背景:  编写了一个MapReduce程序,发现该程序内存占用非常多,需要有一种方法来分析内存详细的占用情况. 可以使用linux上的pmap –d <PID>来看进程逻辑地址空间使用情况,但是会有很多anno区域,显然这不能够满足同学们的好奇心. 在这篇文章Eclipse远程调试HDP源代码中,提到使用JMX的方法对HDP进行远程调试.JMX(Java Management Extensions,即Java管理扩展),望文生义一下,可知这个机制是与管理相关的.在这个机制的基础上,可以对JVM…
远程监控JVM状态需要在JVM启动的时候需要加上一段代码开启这个功能.(以下全部以ubuntu-14-04-server.jdk1.8.tomcat7.0环境为基础) 配置的时候分两种情况:1.无需配置用户访问权限:2.需要配置用户访问权限 先看第一种:首先更改tomcat启动参数(vim catalina.sh)找到 # OS specific support. $var _must_ be set to either true or false. 添加如下变量:CATALINA_OPTS="…
如果本地安装了JDK,则在${java.home}/bin/下可找到jvisualvm.exe,双击打开即可使用.否则,去官网下载一个,解压即可使用.现有一个springboot程序springbootdemo.jar,使用JDK中jvisualvm的JMX方式监控该JVM 一.查询hostname 二.检查hostname对应ip地址 下面是新装虚拟机hostname对应ip地址 三.查询当前机器供外网访问的ip地址 本机ip地址为192.168.102.31  四.将hostname对应ip…
-Dcom.sun.management.jmxremote :允许使用JMX远程管理 -Dcom.sun.management.jmxremote.port=9999 :JMX远程连接端口 -Dcom.sun.management.jmxremote.authenticate=false :不进行身份认证,任何用户都可以连接 -Dcom.sun.management.jmxremote.ssl=false :不使用ssl…
本文是亲自测试的详细配置过程,不是转载而且linux下不需修改/etc/hosts文件 由于在建项目的需要,监控tomcat的内存使用,检查内存泄漏的情况.其实JDK自身已经提供了很多工具,都在JAVA_HOME/bin/目录下:jvisualvm.jconsole.jstatd.jmap等等,以下为试验的环境配置: client: vista.jdk1.6.0_18 server: linux.jdk1.6.0_02.tomcat6.IP:192.168.8.7 主要从下面三个方面描述: jm…
翻译自http://java.sun.com/javase/6/docs/technotes/guides/management/agent.html  用JMX管理你的JVMJMX是Java管理扩展的缩写,也是当前Java技术中很核心的一块,JMX使得构建可扩展.可管理.伸缩性好的Java框架变得更加容易.更重要的是,JMX是J2SE的一部分,也就是说,使用JMX还能获得很好的兼容性,因为它是标准Java的一部分说了这些,也许你对JMX的重要性还是没有很直观的认识,那么当你知道最普及的serv…
1.jdb(The Java Debuger) jdb 用来对core文件和正在运行的Java进程进行实时地调试,里面包含了丰富的命令帮助您进行调试,它的功能和Sun studio里面所带的dbx非常相似,但 jdb是专门用来针对Java应用程序的. 现在应该说日常的开发中很少用到JDB了,因为现在的IDE已经帮我们封装好了,如使用ECLIPSE调用程序就是非常方便的,只要在非常特定的情况下可能会用到这个命令,如远程服务器的维护,没有IDE进行调试,那这个时候JDB应该可以帮上忙. 2.jsta…