如何使用JMX来管理程序?】的更多相关文章

什么是JMX JMX,全称Java Management Extensions,用于我们管理和监控java应用程序.JMX有以下用途: 监控应用程序的运行状态和相关统计信息. 修改应用程序的配置(无需重启). 状态变化或出错时通知处理. 举个例子,我们可以通过jconsole监控应用程序的堆内存使用量.线程数.类数,查看某些配置信息,甚至可以动态地修改配置.另外,有时还可以利用JMX来进行测试. 本文将介绍以下内容: 什么是JMX: JMX的基础架构: 如何使用JMX. JMX的基础架构 首先,…
简介 druid是用于创建和管理连接,利用"池"的方式复用连接减少资源开销,和其他数据源一样,也具有连接数控制.连接可靠性测试.连接泄露控制.缓存语句等功能,另外,druid还扩展了监控统计.防御SQL注入等功能. 本文将包含以下内容(因为篇幅较长,可根据需要选择阅读): druid的使用方法(入门案例.JDNI使用.监控统计.防御SQL注入) druid的配置参数详解 druid主要源码分析 使用例子-入门 需求 使用druid连接池获取连接对象,对用户数据进行简单的增删改查(sql…
什么是logback logback 用于日志记录,可以将日志输出到控制台.文件.数据库和邮件等,相比其它所有的日志系统,logback 更快并且更小,包含了许多独特并且有用的特性. logback 被分成三个不同的模块:logback-core,logback-classic,logback-access. logback-core 是其它两个模块的基础. logback-classic 模块可以看作是 log4j 的一个优化版本,它天然的支持 SLF4J. logback-access 提供…
简介 HikariCP 是用于创建和管理连接,利用"池"的方式复用连接减少资源开销,和其他数据源一样,也具有连接数控制.连接可靠性测试.连接泄露控制.缓存语句等功能,另外,和 druid 一样,HikariCP 也支持监控功能. HikariCP 是目前最快的连接池,就连风靡一时的 BoneCP 也停止维护,主动让位给它,SpringBoot 也把它设置为默认连接池. 看过 HikariCP 源码的同学就会发现,相比其他连接池,它真的非常轻巧且简单,有许多值得我们学习的地方,尤其性能提…
阅读目录 Standard MBean与MXBean的区别 实现 Notification 认证与授权 JConsole Custom Client What and Why JMX JMX的全称为Java Management Extensions. 顾名思义,是管理Java的一种扩展.这种机制可以方便的管理正在运行中的Java程序.常用于管理线程,内存,日志Level,服务重启,系统环境等. 试想,一个正在运行中的程序,我们如果想改变程序中的一些属性,可以通过什么方法呢?可能有这么几个方法:…
详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt194 一.JMX简介 JMX是一种JAVA的正式规范,它主要目的是让程序有被管理的功能,那么怎么理解所谓的"被管理"呢?试想你开发了一个软件(如WEB网站),它是在24小时不间断运行的,那么你可能会想要"监控"这个软件的运行情况,比如收到了多少数据,有多少人登录等等.或者你又想"配置"这个软件,比如现在访问人数比较多,你想把…
一.JMX简介 JMX是一种JAVA的正式规范,它主要目的是让程序有被管理的功能,那么怎么理解所谓的“被管理”呢?试想你开发了一个软件(如WEB网站),它是在24小时不间断运行的,那么你可能会想要“监控”这个软件的运行情况,比如收到了多少数据,有多少人登录等等.或者你又想“配置”这个软件,比如现在访问人数比较多,你想把数据连接池设置得大一些. 当然,你也许会专门为这些管理来开发软件,但如果你借助JMX,则会发现创建这样的管理程序是如此简单.因为你无需为管理程序来开发界面,已经有通用的JMX管理软…
JMX(Java管理扩展)系列 JMX(Java管理扩展)系列旨在介绍包含于Java基础版本(Java SE)中的JMX技术.本系列提供了如何使用JMX重要技术特性的诸多示例. 一.JMX技术总览简要介绍JMX技术,包括它的使用目的和主要功能. 二.MBean简介介绍JMX技术的基本概念-被管理的beans,也称作MBeans.同时会介绍MXBeans. 三.通知介绍JMX技术中的通知机制. 四.远程管理展示如何实现JMX API的远程管理能力和如何创建JMX客户端程序. 五.更进一步展示JMX…
JMX 1. JMX简单介绍 JMX的全称为Java Management Extensions. 顾名思义,是管理Java的一种扩展.这种机制可以方便的管理正在运行中的Java程序.常用于管理线程,内存,日志Level,服务重启,系统环境等. JConsole和JVisualVM中能够监控到JAVA应用程序和JVM的相关信息都是通过JMX实现的. 先粘一段内容 1.程序初哥一般是写死在程序中,到要改变的时候就去修改代码,然后重新编译发布. 2.程序熟手则配置在文件中(JAVA一般都是prope…
类Fabric主机管理程序开发 一,作业要求 1, 运行程序列出主机组或者主机列表(已完成) 2,选择指定主机或主机组(已完成) 3,选择主机或主机组传送文件(上传/下载)(已完成) 4,充分使用多线程或多进程(已完成) 5,不同主机的用户名,密码,端口可以不同(已完成) 6,可向主机或主机组批量发布命令(已完成) 7,可一次性执行多条操作命令(已完成) 二,程序文件清单 三,程序流程简图 四,程序测试样图 五,程序核心源码 #!usr/bin/env python # -*- coding:u…
screen:多重视窗管理程序 screen [-S SCREEN_NAME]: 创建窗口,可指定窗口名称,如果不指定,则是ID.$HOSTNAME screen -ls: 列出所有的screen窗口 screen -r {ID|SCREEN_NAME}: 恢复离线的窗口 Ctrl+a+d: 暂时离开当前的会话窗口 screen -d {ID|SCREEN_NAME}: 结束其它终端上会话窗口 [root@localhost ~]# screen -ls There is a screen on…
系统上线运行后,及时监控报警是很必要的手段,对于ActiveMQ而言,主要监控的指标有:MQ本身的健康状况.每个队列的生产者数量.消费者数量.队列的当前消息数等. ActiveMQ支持JMX监控,使用步骤如下: 一.修改conf/activemq.xml <broker … useJmx="true”> <managementContext> <managementContext createConnector="true" connectorP…
https://my.oschina.net/heroShane/blog/196227 一.启动普通的jar程序 1.执行foo.jar启动命令 java -Dcom.sun.management.jmxremote.port=12345 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -jar foo.jar 2.12345为需要监控的端口,远程机器需要开启…
Tomcat调优及JMX监控 实验背景 ====================================================== 系统版本:CentOS release 6.5 (Final) Tomcat版本:   Apache-tomcat-7.0.54 Tomcat介绍: Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache.Sun 和其他一些公司及个人共同开发而成.由于有了…
最近想学习下java GC优化,就用了一下VisualVM,在远程服务器启动了一个非docker的tomcat,很顺利的就连接了,但是用docker-compose启动的服务却 怎么也连不上,一定是docker的锅. 最终找到了解决方法,在这里 https://forums.docker.com/t/enable-jmx-rmi-access-to-a-docker-container/625 这篇文章中最重要的一句话就是 In my case, I am working with docker…
-Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=192.168.1.54 注: 1. -Dcom.sun.management.jmxremote.port :这个是配置远程 connection 的端口号的,要确定这个端口没有被…

JMX

一.为什么使用JMX,解决那些问题 举一个应用实例:在一个系统中常常会有一些配置信息,比如服务的IP地址,端口号什么的,那么如何来写这些代码呢? 写死在程序里,到要改变时就去改程序,然后再编译发布: 把这些信息写在一个配置文件里(JAVA一般都是*.properties文件),到要改变时只要改配置文件,但还是重新启动系统,以便读取配置文件里的新值: 写一个段代码,把配置值缓存起来,系统在读值的时候,先看看配置文件有没有更动.如有更改则重读一遍,否则从缓存里读取值 用JMX!把配置属性集中在一个类…
# ----- Execute The Requested Command ----------------------------------------- # ----- JMX Config Start ----- if [ "$1" = "run" ]; then JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote -Djava.rmi.server.hostname=192.168.2.235…
jps.jstack.jmap.jhat.jstat.hprof 基于jmx可以开发web版本,方便压测的时候观测jvm以及线程的信息 ============================================= 压测可以明显观测到线程数.jvm虚拟机的使用情况以及程序的问题…
启动jmx server 和jmx client,通过jconsole进入jmx server 然后通过其中远程进程,进入jmx client: 发现,两者可用的tab页不同, MBean的数量类型也不同: 如何理解呢?其实原因就是两者的MBeanServer不同, 前者是jmx自带的,后者是我new出来的. 访问JMImplementation 看看: ObjectName jmxname = new ObjectName("JMImplementation:type=MBeanServerD…
今天遇到一个问题: 执行bat,关闭jmx的时候,由于程序关闭之后又去连接了一次,cmd窗口报错,类似: 2013-7-11 15:58:05 ClientCommunicatorAdmin restart警告: Failed to restart: java.io.IOException: Failed to get a RMI stub: javax.naming.ServiceUnavailableException [Root exception is java.rmi.ConnectE…
很早就开始去了解这个了,不过一直都是皮毛,基本概念明白,具体api几乎一无不知... 认真看了几篇文章,做了测试,终于有所了解 参考 入门级别: http://www.cnblogs.com/agou/articles/286871.html http://www.cnblogs.com/allenny/articles/179208.html 写得最好的:http://www.cnblogs.com/yaohonv/archive/2012/02/08/jmx.html, 图也很清楚,不过初入…
JMX架构定义: https://docs.oracle.com/javase/8/docs/technotes/guides/jmx/overview/architecture.html Architecture Outline JMX technology is defined by two closely related specifications developed through the Java Community Process (JCP) as Java Specificati…
1,概念:一个可以使用JMX管理器来管理的Java对象称为JMX管理资源(JMX manageable resource).事实上,一个JMX管理资源也可以是一个应用程序.一个实现或者一个服务.设备.用户等等.JMX管理资源用Java写或者提供一个Java包装.要想让一个Java对象称为JMX管理资源,必须创建另一个名为Managed Bean或者MBean的对象.org.apache.catalina.mbeans包包括一些MBeans.ConnectorMBean, StandardEngi…
Tomcat使用JMX管理方式,在Tomcat的自带应用manager就是使用了JMX方式来管理Tomcat,以此完成Web应用的动态部署.启动.停止. 然而manager应用是一种本地使用JMX接口的方式.对于其它的远程客户端该 怎么做呢? 方式1:JConsole客户端: 1)设置环境变量CATALINA: set CATALINA_OPTS=-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9999 -Dc…
[BEAN] 配置   <!-- JMX 对应的接口服务--> <bean id="emailInterfaceServer" class="com.star.sms.business.collection.jmx.CollmgmtEmailJmx" />  <bean id="EmailServerMbeanExporter" class="org.springframework.jmx.export.M…
本文主要关注的是C内存管理程序,比较著名的几个C内存管理程序,其中包括: l   Doug Lea Malloc:Doug Lea Malloc实际上是完整的一组分配程序,其中包括Doug Lea的原始分配程序,GNU libc分配程序和ptmalloc.Doug Lea的分配程序加入了索引,这使得搜索速度更快,并且可以将多个没有被使用的块组合为一个大的块.它还支持缓存,以便更快地再次使用最近释放的内存.ptmalloc是Doug Lea Malloc 的一个扩展版本,支持多线程.在本文后面的部…
公司线上项目出现了java heap space 然后经过查询知晓了下面工具于是开始了尝试. visualvm能干什么:监控内存泄露,跟踪垃圾回收,执行时内存.cpu分析,线程分析... jvisualvm已经被集成在jdk1.6以上的版本中(不是jre).自身运行需要最低jdk1.6版本,但是可以监控运行在jdk1.4以上版本的java程序 以jdk1.6update45(jdk1.6update45自带的jvisualvm)来做说明,当然也可单独下载独立的jvisualvm,正常安装完jdk…
背景:  编写了一个MapReduce程序,发现该程序内存占用非常多,需要有一种方法来分析内存详细的占用情况. 可以使用linux上的pmap –d <PID>来看进程逻辑地址空间使用情况,但是会有很多anno区域,显然这不能够满足同学们的好奇心. 在这篇文章Eclipse远程调试HDP源代码中,提到使用JMX的方法对HDP进行远程调试.JMX(Java Management Extensions,即Java管理扩展),望文生义一下,可知这个机制是与管理相关的.在这个机制的基础上,可以对JVM…
今天接触到这个东西,觉得好有趣,可以用很多第三方的显示层jar包直接在UI界面上操作指定的java对象,网上将这个东西的也挺多的,我个人觉得这个比webServer还强大了.webserver只是公布服务出去,能做什么我自己做主,这个完全就像是卖身出去一样,成了个木偶让别人控制了. 怎么使用就不说了,感兴趣的是这个东西的通讯协议是什么.在显示层html上操作用的http连接到管理显示层的第三方服务,再他去操作MBean,实现间接操作. 我们还可以通过程序来连接JMX管理MBean.JMX提供了两…