Quarkus技术咨询:能否通过SmallRye Metrics查看虚拟机通用信息?
如何在Quarkus中通过SmallRye Metrics获取JVM通用指标
嘿,这个问题其实挺常见的——JVM通用指标收集功能是完全存在的,不是你搜索不够充分,只是需要确认依赖配置是否到位,以及知道去哪里查看这些数据。下面给你一步步梳理操作方法:
1. 确保添加正确的依赖
首先要确认你的项目里已经引入了Quarkus的SmallRye Metrics扩展:
- 如果是Maven项目,在
pom.xml中添加:
<dependency> <groupId>io.quarkus</groupId> <artifactId>quarkus-smallrye-metrics</artifactId> </dependency>
- 如果是Gradle项目,对应的依赖配置是:
implementation 'io.quarkus:quarkus-smallrye-metrics'
2. 确认JVM指标配置(默认已开启)
Quarkus的SmallRye Metrics扩展默认就已经启用了JVM指标收集,除非你手动关闭过。如果担心配置被修改,可以在application.properties里明确开启:
# 确保JVM指标收集功能处于开启状态(默认值为true,一般无需手动设置) quarkus.smallrye-metrics.jvm.enabled=true
3. 访问端点查看JVM指标
启动Quarkus应用后,访问默认的Metrics端点:/q/metrics
在返回的内容里,你会看到大量以jvm_开头的指标,比如:
jvm_memory_used_bytes:当前JVM内存使用量,通过标签area区分堆(heap)和非堆(non-heap)内存jvm_memory_max_bytes:JVM内存的最大可用量jvm_threads_active:当前活跃线程数jvm_gc_collection_seconds_sum:垃圾回收的总耗时
要是只想单独查看JVM相关指标,可以直接访问:/q/metrics/jvm,这样会过滤掉其他类型的指标,结果更简洁。
常见误区排查
- 你可能之前只关注了自定义指标,没留意到端点里默认包含的JVM指标组
- 若使用Quarkus 3.x版本,无需担心版本兼容问题——扩展会自动适配对应的SmallRye Metrics版本
- 检查是否有安全拦截规则或网关配置,阻止了对
/q/metrics端点的访问
内容的提问来源于stack exchange,提问作者eerriicc
相关产品推荐
相关产品推荐

