一飞开源,介绍创意、新奇、有趣、实用的开源应用、系统、软件、硬件及技术,一个探索、发现、分享、使用与互动交流的开源技术社区平台。致力于打造活力开源社区,共建开源新生态!
一、开源项目简介
JVMM(JVM Monitor)是一个提供Java虚拟机和操作系统服务式监控的工具,拥有丰富的数据采集功能:OS(内存、CPU、磁盘状态及IO、网卡状态及IO等)、 JVM(内存、线程、线程池、内存池、GC、类加载器等),还提供生成火焰图、Java代码热更、反编译等功能。适合用于服务健康监控、程序调优、问题排查、性能测试等场景。
使用Apache-2.0开源协议
客户端工具采集数据示例
生成火焰图示例
代码调用示例
Dashboard应用示例
项目内部有些组件是可以脱离项目使用的,轻量且上手简单
详细内容请查看 README.md 文档。
请前往releases下载最新版的jvmm,然后将其解压
小Tips:Jvmm 部分功能依赖于本地环境中的 jdk,请确保你的环境中安装的是jdk而不只是 jre,简单验证:在你的环境中执行jps -l, 如果可正常执行并输出结果则表示环境OK,否则在运行jvmm时可能会出现报错
首先执行下面指令生成服务jar包
java -jar jvmm.jar -m jar -s
然后启动server,启动时请注意你的jdk版本
# 启动server,jdk 8使用下面命令 java -jar jvmm-server.jar # jdk 9+ 请使用下面命令 java -jar --add-opens java.base/jdk.internal.loader=ALL-UNNAMED --add-opens jdk.zipfs/jdk.nio.zipfs=ALL-UNNAMED --add-opens java.management/sun.management=ALL-UNNAMED jvmm-server.jar
如果启动成功 Jvmm Server 将会默认运行在 5010 端口,然后你需要在当前目录新起一个窗口执行:
java -jar jvmm.jar -m client -a 127.0.0.1:5010
如果连接 server 成功那么你就进入了客户端模式,你可以输入下面指令去采集进程数据,当然输入help可以查看该模式下所有可执行指令的使用方法。
info -t process
这里提供了Jvmm client模式下采集的数据样例,Jvmm提供的功能远不止如此,更多功能请阅读 Jvmm 使用文档。
Jvmm的核心数据采集功能在 core 模块,提供的服务式功能在 server 模块,根据你的使用场景可选择下面两种使用方式:
详细内容请查看 README.md 文档。
评论