如何在java中获取JVM的各种系统参数

ManagementFactory

ManagementFactory类是jdk1.5开始提供的一个工厂类,用于获取Java平台的受管Bean。该类提供了许多静态方法,每个方法返回一个或者多个jvm的管理接口的平台MXBean。

如何获取内存的相关信息

MemoryMXBean

利用ManagementFactory得到MemoryMXBean对象。这个类提供了两个MemoryUsage对象接口分别对应堆内存使用情况和非堆内存的使用情况。通过MemoryUsage提供的接口我们可以很容易得到虚拟机的总内存、已用内存、初始内存、可用最大内存等。具体使用可以参照官方文档。
官方文档方法摘要

如何获得新生代老年代内存使用信息?

ManagementFactory除了提供了MemoryMXBean对象,还提供了一个MemoryPoolMXBean类的链表。里面包含了java各内存池的使用信息。各个内存池可以通过getName方法辨识内存池。
官方文档信息

获取GC相关信息

利用ManagementFactory得到GarbageCollectorMXBean类的List对象。里面包含了young gc 和full gc的相关信息。

GC官方文档信息
当然,得到GC相关信息还可以利用java命令提供的各种参数来获取GC信息

  • -XX:+PrintGC 输出GC日志
  • -XX:+PrintGCDetails 输出GC的详细日志
  • -XX:+PrintGCTimeStamps 输出GC的时间戳(以基准时间的形式)
  • -XX:+PrintGCDateStamps 输出GC的时间戳(以日期的形式,如 2013-05-04T21:53:59.234+0800)
  • -XX:+PrintHeapAtGC 在进行GC的前后打印出堆的信息
  • -Xloggc:filepath 日志文件的输出路径

获取java应用的基本信息

利用ManagementFactory得到 RuntimeMXBean,他是jvm运行时系统的托管bean。利用它可以很容易得到虚拟机名称,供应商等信息,具体参照官方文档的接口信息。

runtimeMXBean的官方文档接口信息

得到线程使用信息

利用ManagementFactory得到 ThreadMXBean。

ThreadMXBean官方文档

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值