You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

仅安装JRE的CentOS7服务器如何监控JVM

仅JRE环境下CentOS7的开源JVM监控工具

以下是适合仅安装JRE的CentOS7环境的开源JVM监控/排查工具,覆盖实时查看、远程监控、长期追踪、性能分析等场景:

  • jstat(JRE自带)
    Oracle JRE和OpenJDK JRE默认包含该工具,无需额外安装。主要用于监控JVM的垃圾回收、类加载、内存使用状态。
    常用命令示例:

    # 每1秒输出一次GC统计信息,共输出10次
    jstat -gcutil <Java进程PID> 1000 10
    

    可快速定位内存回收效率低、老年代内存持续增长等问题。

  • jcmd(JRE自带)
    同样是JRE内置工具,功能全面,可获取JVM运行时参数、线程栈、堆转储,甚至手动触发GC。
    常用命令示例:

    # 查看目标进程的系统属性
    jcmd <Java进程PID> VM.system_properties
    # 生成堆转储文件到指定路径
    jcmd <Java进程PID> GC.heap_dump /tmp/heap_dump.hprof
    

    可替代JDK中的jstack、jmap等工具,满足基础故障排查需求。

  • VisualVM(远程监控模式)
    虽然VisualVM程序本身随JDK发布,但可在本地机器安装JDK运行VisualVM,通过JMX协议远程连接仅JRE的服务器。
    服务器端配置:启动Java程序时添加JMX参数(可根据安全需求调整认证/SSL配置):

    java -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9999 \
    -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false \
    -Djava.rmi.server.hostname=<服务器IP> -jar your-app.jar
    

    本地打开VisualVM后添加远程连接,即可可视化监控内存、线程、GC状态,还能生成堆/线程快照做深入分析。

  • Prometheus + JMX Exporter
    适合生产环境的长期监控与告警,无需依赖JDK。

    1. 下载JMX Exporter的独立jar包(无需安装);
    2. 编写配置文件config.yaml,定义需要采集的JVM指标(如内存池、GC次数、线程数等);
    3. 启动Java程序时挂载agent:
      java -javaagent:/opt/jmx_prometheus_javaagent.jar=9100:/opt/config.yaml -jar your-app.jar
      
    4. 配置Prometheus抓取9100端口的指标,配合Grafana搭建可视化面板,实现JVM状态的长期追踪与异常告警。
  • AsyncProfiler
    轻量级采样型性能分析工具,支持JRE环境,无需JDK。

    1. 下载对应CentOS架构的预编译二进制包;
    2. 直接在服务器上运行命令采样:
      # 启动CPU采样
      ./profiler.sh start <Java进程PID>
      # 停止采样并生成火焰图
      ./profiler.sh stop --output flamegraph.html
      

    生成的火焰图可在浏览器打开,直观分析CPU热点、内存分配、锁竞争等性能瓶颈,适合定位复杂性能问题。

内容的提问来源于stack exchange,提问作者user1999453

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 17:45:39