{"repo":"tzfun/jvmm","free":true,"listed":false,"github":"https://github.com/tzfun/jvmm","clone":"git clone https://github.com/tzfun/jvmm.git","description":"jvmm是一个Java虚拟机和主机服务式监控工具，可快速接入Prometheus和Grafana，支持生成火焰图、Java代码热更、反编译等功能。","language":"Java","stars":75,"topics":["java","jvm","os","monitor","grafana","java-monitor","prometheus"],"license":"Apache-2.0","category":"analytics","readme_excerpt":"JVMM（JVM Monitor）是一个提供Java虚拟机和操作系统服务式监控的工具，拥有丰富的数据采集功能：OS（内存、CPU、磁盘状态及IO、网卡状态及IO等）、 JVM（内存、线程、线程池、内存池、GC、类加载器等），还提供生成火焰图、Java代码热更、反编译等功能。适合用于服务健康监控、程序调优、问题排查、性能测试等场景。 功能支持 支持Java虚拟机数据采集： 进程信息 内存信息：堆内、堆外内存使用情况，Manager、Pool信息 线程信息：堆栈、锁、死锁检测、CPU Time、Wait Time等 线程池信息：配置参数、状态、任务统计等 GC信息：分代收集器信息、GC次数、GC耗时等 类加载信息：类加载统计、类加载器、JIT 支持操作系统数据采集：内存状态、CPU负载、磁盘状态及IO吞吐率、网卡状态及IO吞吐率、端口检测 支持火焰图生成，采样事件包括CPU、内存分配、线程栈、Java方法及native方法调用栈等 支持 Prometheus 、 Grafana 一键接入 支持Java代码反编译生成 支持Java代码热更新（可指定ClassLoader） 支持远程执行GC 支持远程执行JDK自带工具命令：jstat、jstack、jinfo、jmap、jcmd等 提供三种服务模式： jvmm服务：独有RPC协议，需使用jvmm客户端远程连接调用，安全可靠 http服务：提供Http接口，不限开发语言远程调用 哨兵服务：定时采集数据并上报给订阅者，支持推送给 Prometheus 支持无感知跨进程attach到Java进程，远程连接，Java Agent启动，server独立运行启动，可自定义开发 支持 JDK 8+ 支持 Linux/Mac/Windows 快速体验 请前往releases下载最新版的jvmm，然后将其解压 小Tips：Jvmm 部分功能依赖于本地环境中的 jdk，请确保你的环境中安装的是 jdk 而不只是 jre，简单验证：在你的环境中执行 jps -l ， 如果可正常执行并输出结果则表示环境OK，否则可能无法运行Jvmm。 首先执行下面指令生成服务jar包 然后启动server，启动时请注意你的jdk版本 如果启动成功 Jvmm Server 将会默认运行在 5010 端口，然后你需要在当前目录新起一个窗口执行： 如果连接 server 成功那么你就进入了客户端模式，你可以输入下面指令去采集进程数据，当然输入 help 可以查看该模式下所有可执行指令的使用方法。 这里提供了Jvmm client模式下采集的数据样例，Jvmm提供的功能远不止如此，更多功能请阅读 Jvmm 使用文档。 使用文档 Jvmm的核心数据采集功能在 core 模块，提供的服务式功能在 server 模块，根据你的使用场景可选择下面两种使用方式： - 直接使用 Jvmm server - 基于 core 模块二次开发（功能更全） Server使用 一、Server服务 首先你需要了解 server 能干嘛？server提供了三种服务模式，在使用之前你需要选择哪种模式更适合你，下面简单介绍一下三种服务模式： 1. Jvmm server：提供独有通信协议远程调用服务，可以在自己的项目中使用 JvmmConnector 连接，也可直接使用Jvmm客户端连接 2. Http server：提供Http接口远程调用服务，不限语言 3. Sentinel server：哨兵模式，定时采集指定的数据项并通过 Http 接口传输给第三方 任何一种服务模式都离","default_branch":null,"files":null,"tree":[],"storefront":"/r/tzfun","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/tzfun/jvmm/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}