JAVA统计服务器资源(cpu,内存,磁盘)–LINUX

JAVA统计服务器资源(cpu,内存,磁盘)–LINUX标题JAVA统计服务器资源(cpu,内存,磁盘)–LINUX使用类:com.sun.management.OperatingSystemMXBean继承:java.lang.management.OperatingSystemMXBeanJDK版本1.8API说明项目用的jdk是1.8,接口也能调,不知道为什么1.8的api里没有这个类,只有这个类继承的java.lang.management.OperatingSystemMXBean的API,在JDK13API中找到想要的东西了模

大家好,又见面了,我是你们的朋友全栈君。

JAVA统计服务器资源(cpu,内存,磁盘)–LINUX

使用类:

com.sun.management.OperatingSystemMXBean
继承:java.lang.management.OperatingSystemMXBean
JDK 版本1.8

API 说明

项目用的jdk 是1.8,接口也能调,不知道为什么1.8的api里没有这个类,只有这个类继承的java.lang.management.OperatingSystemMXBean的API,在JDK13 API中找到想要的东西了
在这里插入图片描述

模块 jdk.management
包 com.sun.management
接口操作系统MXBean
所有超接口:
OperatingSystemMXBean,PlatformManagedObject
所有已知的子接口:
UnixOperatingSystemMXBean
公共接口OperatingSystemMXBean
扩展OperatingSystemMXBean
运行 Java 虚拟机的操作系统的特定于平台的管理接口。
返回的OperatingSystemMXBean对象 ManagementFactory.getOperatingSystemMXBean() 是该接口或接口的实现类的实例,UnixOperatingSystemMXBean具体取决于其底层操作系统。

自从:
1.5

在这里插入图片描述

修饰符和类型 方法 描述
long getCommittedVirtualMemorySize() 返回保证对正在运行的进程可用的虚拟内存量(以字节为单位,或者-1如果不支持此操作)。
long getFreePhysicalMemorySize() 返回以字节为单位的可用物理内存量。
long getFreeSwapSpaceSize() 返回以字节为单位的可用交换空间量。
double getProcessCpuLoad() 返回 Java 虚拟机进程的“最近 cpu 使用情况”。
long getProcessCpuTime() 返回运行 Java 虚拟机的进程使用的 CPU 时间(以纳秒为单位)。
double getSystemCpuLoad() 返回整个系统的“最近 cpu 使用情况”。
ong getTotalPhysicalMemorySize() 返回以字节为单位的物理内存总量。
long getTotalSwapSpaceSize() 返回以字节为单位的交换空间总量。

父类方法

修饰符和类型 方法 描述
String getArch() 返回操作系统架构。
int getAvailableProcessors() 返回 Java 虚拟机可用的处理器数量。
String getName() 返回操作系统名称。
double getSystemLoadAverage() 返回最后一分钟的系统负载平均值。
String getVersion() 返回操作系统版本。

代码演示

package com.zhonggg.commonUtils;

import com.sun.management.OperatingSystemMXBean;

import java.lang.management.ManagementFactory;

/** * @description: * @author: lijinzhong * @create: 2022-03-03 15:18 */
public class SystemMonitorUtils { 
   
    private static OperatingSystemMXBean osmxb = (OperatingSystemMXBean) ManagementFactory.getOperatingSystemMXBean();
    public static void main(String[] args) throws Exception { 
   

        /** * 物理内存 byte */
        long totalPhysicalMemorySize = osmxb.getTotalPhysicalMemorySize();
        System.out.println("物理内存:" + totalPhysicalMemorySize /(1024*1024*1024));
        /** * 空闲物理内存 byte */
        long freePhysicalMemorySize = osmxb.getFreePhysicalMemorySize();
        System.out.println("空闲物理内存:" + freePhysicalMemorySize /(1024*1024*1024));
        /** * */
        long committedVirtualMemorySize = osmxb.getCommittedVirtualMemorySize();
        System.out.println("getCommittedVirtualMemorySize:" + committedVirtualMemorySize /(1024*1024));
        /** * */
        String arch = osmxb.getArch();
        System.out.println("arch:" + arch);
        String name = osmxb.getName();
        System.out.println("name:" + name);
        /** *当前JVM占用的CPU负载 */
        double processCpuLoad = osmxb.getProcessCpuLoad();
        System.out.println("getProcessCpuLoad:" + processCpuLoad);
        /** * cpu 使用率 */
        while (true){ 
   
            System.out.println("cpu 使用率:" + osmxb.getSystemCpuLoad()*100);
            Thread.sleep(1000);
        }

    }
    
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/132871.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • oracle分页查询的三种常见方式

    oracle分页查询的三种常见方式oracle分页查询的三种常见方式分页写法:–分页查询一select*from(selectrownumr,e1.*from(select*fromemporderbysal)e1whererownum<=8)wherer>=5;–分页查询二selecte1.*from…

    2022年5月8日
    46
  • 修改firefox地址栏的颜色

    修改firefox地址栏的颜色

    2021年8月16日
    47
  • FCoin近1.3万BTC无法兑付,有人报案有人自救

    作者:邱祥宇继7.2亿代币销毁,三天三公告之后,FCoin又有新进展。2月17日晚上,张健在FCoin官网发布一篇名为《FCoin真相》的公告,对FCoin的现状、原因以及后续计划作出说…

    2022年4月9日
    53
  • Java单例模式实现的两种方式和应用场景

    Java单例模式实现的两种方式和应用场景单例模式的定义个人理解,单例是指单个实例,在整个应用程序当中有且仅有一个实例存在,该实例是通过代码指定好的(自行创建的)。为什么要使用解决在高并发过程中,多个实例出现逻辑错误的情况。在特定的业务场景下避免对象重复创建,节约内存。实现的两种方式饿汉式顾名思义,不管有没有使用到该对象,只要程序启动成功,该单实例对象就存在。代码如下:/***饿汉式*/publicclassSingletonHungry{privatestaticSingletonHung

    2022年8月11日
    5
  • 移动ipv6不是公网_移动光纤申请公网ip

    移动ipv6不是公网_移动光纤申请公网ip 之前有人看到我的蜗牛在移动宽带下还能搞外网访问《奶妈级教程:移动宽带下的IPV6+DDNS+私有域名访问黑群晖》,各种问我怎么申请IPv6?搞得我一头雾水,因为真的不需要申请!!!  早在2018年5月份,全网已经开始实施IPv6全覆盖了,移动宽带光纤能到的地方貌似都已经开通了IPv6了,所以我们需要的只是一个能获取IPv6的光猫而已。  最直接的方法当然是打10086去问问啦,不过貌似客服知道的也不多,甚至不知道IPv6是啥?  那就自己度娘“光猫型号+参数”,自己去看支不支持吧?  又

    2022年8月30日
    0
  • HTML5新控件 – 日期和时间选择输入

    HTML5新控件 – 日期和时间选择输入转载自:https://blog.csdn.net/u014063717/article/details/50914466HTML5定义了几个与日期有关的新控件。支持日期控件的浏览器会提供一个方便的下拉式日历,供用户选择。注意:我测试了Chrome和Opera,火狐提供下拉式日历支持,其它浏览器可能仍是一个普通文本框。1,日期控件-date<inputtype="date"valu…

    2022年5月24日
    261

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号