java api 中获取JVM信息相关方法的Demo

摘要

为了保障业务系统的连续性,需要监控服务器JVM内存使用情况,防止因系统异常出现宕机。JDK自带的Java VirsualVM是个很好的监控及分析JVM状况的工具,但生产环境并不适用。生产环境数据监控我司使用的是Grafana平台,通过清洗来自日志文件的指标数据,生成实时图像。这就需要通过编码的方式获取JVM的信息,然后打印到日志里。java.lang.management包提供类方法恰好可以满足我的需求。

java.lang.management包相关用法简介

1, ManageFactory类的静态方法getMemoryMXBean()返回包含JVM内存信息的对象MemoryMXBean
2, MemoryMXBean对象包含的内存信息分为堆内存信息(Heap)和非堆内存信息(Non-heap Memory),分别通过getHeapMemoryUsage()getNonHeapMemoryUsage()方法获取,返回对象类型都是MemoryUsage
3, MemoryUsage类中包含四个不同的变量

  • init 启动时JVM向操作系统请求的内存容量,单位byte
  • max JVM能够管理的最大内存容量,单位byte,如果定义了运行时也可能随时间变化
  • committed JVM保证可以使用的内存容量,单位byte,运行时会随时间
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值