package test1;

import java.lang.management.CompilationMXBean;
import java.lang.management.GarbageCollectorMXBean;
import java.lang.management.ManagementFactory;
import java.lang.management.MemoryMXBean;
import java.lang.management.MemoryPoolMXBean;
import java.lang.management.MemoryUsage;
import java.lang.management.OperatingSystemMXBean;
import java.lang.management.RuntimeMXBean;
import java.lang.management.ThreadMXBean;
import java.util.List; public class Test11 {
/**
* @param args
*/
public static void main(String[] args) {
//==========================Memory=========================
System.out.println("==========================Memory=========================");
MemoryMXBean memoryMBean = ManagementFactory.getMemoryMXBean();
MemoryUsage usage = memoryMBean.getHeapMemoryUsage();
System.out.println("初始化 Heap: " + (usage.getInit()/1024/1024) + "mb");
System.out.println("最大Heap: " + (usage.getMax()/1024/1024) + "mb");
System.out.println("已经使用Heap: " + (usage.getUsed()/1024/1024) + "mb");
System.out.println("Heap Memory Usage: " + memoryMBean.getHeapMemoryUsage());
System.out.println("Non-Heap Memory Usage: " + memoryMBean.getNonHeapMemoryUsage());
//==========================Runtime=========================
System.out.println("==========================Runtime=========================");
RuntimeMXBean runtimeMBean = ManagementFactory.getRuntimeMXBean();
System.out.println("JVM name : " + runtimeMBean.getVmName());
System.out.println("lib path : " + runtimeMBean.getLibraryPath());
System.out.println("class path : " + runtimeMBean.getClassPath());
System.out.println("getVmVersion() " + runtimeMBean.getVmVersion());
//java options
List<String> argList = runtimeMBean.getInputArguments();
for(String arg : argList){
System.out.println("arg : " + arg);
}
//==========================OperatingSystem=========================
System.out.println("==========================OperatingSystem=========================");
OperatingSystemMXBean osMBean = (OperatingSystemMXBean) ManagementFactory.getOperatingSystemMXBean();
//获取操作系统相关信息
System.out.println("getName() "+ osMBean.getName());
System.out.println("getVersion() " + osMBean.getVersion());
System.out.println("getArch() "+osMBean.getArch());
System.out.println("getAvailableProcessors() " + osMBean.getAvailableProcessors());
//==========================Thread=========================
System.out.println("==========================Thread=========================");
//获取各个线程的各种状态,CPU 占用情况,以及整个系统中的线程状况
ThreadMXBean threadMBean=(ThreadMXBean)ManagementFactory.getThreadMXBean();
System.out.println("getThreadCount() " + threadMBean.getThreadCount());
System.out.println("getPeakThreadCount() " + threadMBean.getPeakThreadCount());
System.out.println("getCurrentThreadCpuTime() " + threadMBean.getCurrentThreadCpuTime());
System.out.println("getDaemonThreadCount() " + threadMBean.getDaemonThreadCount());
System.out.println("getCurrentThreadUserTime() "+ threadMBean.getCurrentThreadUserTime());
//==========================Compilation=========================
System.out.println("==========================Compilation=========================");
CompilationMXBean compilMBean=(CompilationMXBean)ManagementFactory.getCompilationMXBean();
System.out.println("getName() " + compilMBean.getName());
System.out.println("getTotalCompilationTime() " + compilMBean.getTotalCompilationTime());
//==========================MemoryPool=========================
System.out.println("==========================MemoryPool=========================");
//获取多个内存池的使用情况
List<MemoryPoolMXBean> mpMBeanList= ManagementFactory.getMemoryPoolMXBeans();
for(MemoryPoolMXBean mpMBean : mpMBeanList){
System.out.println("getUsage() " + mpMBean.getUsage());
System.out.println("getMemoryManagerNames() "+ mpMBean.getMemoryManagerNames().toString());
}
//==========================GarbageCollector=========================
System.out.println("==========================GarbageCollector=========================");
//获取GC的次数以及花费时间之类的信息
List<GarbageCollectorMXBean> gcMBeanList=ManagementFactory.getGarbageCollectorMXBeans();
for(GarbageCollectorMXBean gcMBean : gcMBeanList){
System.out.println("getName() " + gcMBean.getName());
System.out.println("getMemoryPoolNames() "+ gcMBean.getMemoryPoolNames());
}
//==========================Other=========================
System.out.println("==========================Other=========================");
//Java 虚拟机中的内存总量,以字节为单位
int total = (int)Runtime.getRuntime().totalMemory()/1024/1024;
System.out.println("内存总量 :" + total + "mb");
int free = (int)Runtime.getRuntime().freeMemory()/1024/1024;
System.out.println("空闲内存量 : " + free + "mb");
int max = (int) (Runtime.getRuntime().maxMemory() /1024 / 1024);
System.out.println("最大内存量 : " + max + "mb"); }
}

获取本地的jvm信息,进行图形化展示的更多相关文章

  1. 获取本地IP地址信息

    2012-06-05    /// <summary>         /// 获取本地IP地址信息         /// </summary>         void G ...

  2. 利用Python+pyecharts+tushare图形化展示股票历史财务信息

    在微信或其他平台上,经常能看到别人推荐股票,分析的头头是道,让自己懊恼于没有早点关注到这只股票,好像错失了几个亿.但是投资股票又忌讳听消息跟风,总不能看到别人推荐自己就无脑买入. 看到了一只股票,自己 ...

  3. DL4J实战之六:图形化展示训练过程

    欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 本篇是<DL4J实战>系列的第六 ...

  4. Nginx filebeat+logstash+Elasticsearch+kibana实现nginx日志图形化展示

    filebeat+logstash+Elasticsearch+kibana实现nginx日志图形化展示   by:授客  QQ:1033553122   测试环境 Win7 64 CentOS-7- ...

  5. UAVStack JVM监控分析工具:图形化展示采集及分析监控数据

    摘要:UAVStack推出的JVM监控分析工具提供基于页面的展现方式,以图形化的方式展示采集到的监控数据:同时提供JVM基本参数获取.内存dump.线程分析.内存分配采样和热点方法分析等功能. 引言 ...

  6. iNeuOS工业互联平台,WEB组态(iNeuView)集成图报组件,满足实时数据图形化展示的需求

    目       录 1.      概述... 1 2.      平台演示... 2 3.      应用过程... 3 4.      实时数据展示效果... 5 1.   概述 市场和开源社区有 ...

  7. ioctl()获取本地网卡设备信息

    获得eth0接口所有信息: #include <stdio.h> #include <stdlib.h> #include <sys/types.h> #inclu ...

  8. kong插件Prometheus+grafana图形化展示

    目录 1. 准备工作 3. 为kong添加 prometheus插件 4. 打开kong的metrics支持 4. 配置prometheus.yml添加kong提供的数据信息 5. 在 Grafana ...

  9. Javascript 继承 图形化展示

      <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" conte ...

随机推荐

  1. npm run dev 启动错误:Module build failed: Error: No PostCSS Config found in:xxxxxxxxxxxxxx

    解决办法:在根目录新建postcss.config.js module.exports = { plugins: { 'autoprefixer': {browsers: 'last 5 versio ...

  2. audio currentTime 时间戳转换(es6语法)

    function format(interval){ if (!value) return '' let interval = Math.floor(value) let minute = (Math ...

  3. Kruskal重构树入门

    这个知识点好像咕咕咕了好长了..趁还没退役赶紧补一下吧.. 讲的非常简略,十分抱歉.. 前置知识 Kruskal算法 一定的数据结构基础(如主席树) Kruskal重构树 直接bb好像不是很好讲,那就 ...

  4. Numpy库的下载与安装总结

    今天在做Plotly的散点图时,需要Numpy 这个库的使用 没有安装Numpy这个库的时候,报错一般是下图这样:ModuleNotFoundError: No module named 'numpy ...

  5. PJSUA2开发文档--第七章 呼叫 Calls类

    7   呼叫Calls 呼叫由Call类处理 7.1 子类化Call类 要使用Call类,应用程序应创建子类,如: class MyCall : public Call { public: MyCal ...

  6. 关于SQL数据库 msdb.dbo.sp_send_dbmail 函数发送邮件的几个实例

    在推行系统中,时不时会有用户提出希望系统能自动推送邮件,由于手头的工具和能力有限,不少需求都借助于sql server的邮件触发来实现. 步骤: 1.配置邮箱.步骤略,网上有不少帖子说明,手工直接在管 ...

  7. awk、grep、sed是linux操作文本的三大利器,也是必须掌握的linux命令之一

    awk.grep.sed是linux操作文本的三大利器,也是必须掌握的linux命令之一.三者的功能都是处理文本,但侧重点各不相同,其中属awk功能最强大,但也最复杂.grep更适合单纯的查找或匹配文 ...

  8. [转] Linux Asynchronous I/O Explained

    Linux Asynchronous I/O Explained (Last updated: 13 Apr 2012) *************************************** ...

  9. Netty初体验

    package netty_starter; import io.netty.bootstrap.ServerBootstrap; import io.netty.channel.ChannelFut ...

  10. 一个数据源demo

    前言 我们重复造轮子,不是为了证明我们比那些造轮子的人牛逼,而是明白那些造轮子的人有多牛逼. JDBC介绍 在JDBC中,我们可以通过DriverManager.getConnection()创建(而 ...