[转帖]使用JMX服务监控Java程序性能

使用,jmx,服务,监控,java,程序,性能 · 浏览次数 : 0

小编点评

**JMX服务客户端JConsole简介** JMX服务 JMX服务是JDK官方提供的 Java程序性能监控程序,支持远程访问、扩展和自定义监控性能参数。它提供三个层次的调用: - **客户端层次**:启动JMX服务后,在程序启动时添加相关参数才能与远程服务连接。 - **网络层次**:用于向服务发送和接收请求的通信。 - **客户端层次**:用于与服务交互的本地代理。 **安装JMX服务客户端JConsole** JConsole是JDK自带的JMX图形客户端程序,可以在$JAVA_HOME/bin目录下找到。运行 Java 程序时,需要在程序启动时加上以下参数: ``` -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9102 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false ``` **使用JConsole打开监控界面** 打开JConsole,输入服务器地址如 `bupt7:9102`,即可打开监控界面。 **归纳总结** * JMX服务用于监控Java程序的性能。 * JConsole是JDK自带的JMX图形客户端程序。 * 客户端层次用于与服务交互。 * 网络层次用于向服务发送和接收请求。 * 客户端层次用于与服务交互。

正文

https://www.jianshu.com/p/3c3c836c1c20?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

 

背景

单机收集服务器需要性能监控和测试。

JMX服务

JMX服务是JDK官方提供的Java程序性能监控程序。支持远程访问,支持扩展,即自己定义监控的性能参数。提供网络、API、客户端三个层次的调用。本文以客户端层次的调用为例。

安装JMX服务客户端JConsole

JConsole是JDK自带的JMX图形客户端程序,位置在$JAVA_HOME/bin

Java程序开启JMX服务

想监控Java程序,需要在程序启动时加上JMX相关参数。

-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9102
-Dcom.sun.management.jmxremote.authenticate=false 
-Dcom.sun.management.jmxremote.ssl=false

三个参数分别为:服务端口,安全策略,SSL加密

监控

运行Java程序后,打开JConsole,输入地址如bupt7:9102就可以打开监控界面。

 
2017-01-04, 01_26_22.jpg

 

MBean标签页可以看到JMX默认的和Java程序中扩展的性能参数,如图所示是Kafka Broker的性能参数。


 

与[转帖]使用JMX服务监控Java程序性能相似的内容:

[转帖]使用JMX服务监控Java程序性能

https://www.jianshu.com/p/3c3c836c1c20?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation 背景 单机收集服务器需要性能监控和测试。 JMX

[转帖]使用jmx exporter采集kafka指标

https://www.cnblogs.com/charlieroro/p/16851629.html 预置条件 安装kafka、prometheus 使用JMX exporter暴露指标 下载jmx exporter以及配置文件。Jmx exporter中包含了kafka各个组件的指标,如serv

[转帖]Kafka Dashboard

https://grafana.com/grafana/dashboards/18276-kafka-dashboard/ Kafka resource usage and consumer lag overview Overview Revisions Reviews 使用jmx_exporter

[转帖]使用 tc netem 模拟网络异常

https://cizixs.com/2017/10/23/tc-netem-for-terrible-network/ 在某些情况下,我们需要模拟网络很差的状态来测试软件能够正常工作,比如网络延迟、丢包、乱序、重复等。linux 系统强大的流量控制工具 tc 能很轻松地完成,tc 命令行是 ipr

[转帖]使用 sysdig 进行监控和调试 linux 机器

https://cizixs.com/2017/04/27/sysdig-for-linux-system-monitor-and-analysis/ sysdig 简介 sysdig 官网 上对自己的介绍是: Open Source Universal System Visibility With

[转帖]使用MAT命令行工具生成堆dump分析文件

https://www.cnblogs.com/hellxz/p/use_mat_linux_command_line_generate_reports.html 写作目标 Java程序运行过程中,难免会出现 OOM,往往是在 JVM 启动参数中添加出现 OOM 时输出堆 dump(又名:堆转储、堆

[转帖]使用火焰图(FlameGraph)分析程序性能

火焰图概念 火焰图(FlameGraph)是 svg 格式的矢量图,是先通过 perf 等工具分析得到结果,并将该结果生成的具有不同层次且支持互动的图片,看起来就像是火焰,这也是它的名字的由来。表现形式如下所示: 需要注意以下几点: 纵向(Y 轴)高低不平,表示的是函数调用栈的深度。每一层都是一个函

[转帖]使用Prometheus和Grafana监控RabbitMQ集群 (使用RabbitMQ自带插件)

https://www.cnblogs.com/hahaha111122222/p/15683696.html 配置RabbitMQ集群 官方文档:https://www.rabbitmq.com/prometheus.html#quick-start 官方github地址:https://gith

[转帖]使用Flame Graph进行系统性能分析

http://t.zoukankan.com/arnoldlu-p-10148558.html 关键词:Flame Graph、perf、perl。 FlameGraph是由BrendanGregg开发的一款开源可视化性能分析工具,形象的成为火焰图。 从底向上像火苗一样逐渐变小,也反映了相互之间的包

[转帖]使用 nsenter、dig 和 tcpdump 调试 Kubernetes 网络问题

https://zhuanlan.zhihu.com/p/410217354 使用 nsenter、dig 和 tcpdump 调试 Kubernetes 网络问题 作为 Kubernetes 管理员,我经常发现自己需要调试应用程序和系统问题。我遇到的大多数问题都可以通过 Grafana 仪表板和