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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • DatabaseMetaData 接口

    DatabaseMetaData 接口  DatabaseMetaData接口DatabaseMetaData接口作为整体提供有关数据库的综合信息。其中某些方法采用“字符串”自变量作为目录和模式名称。DB2Everyplace忽略这些自变量。此处的某些方法以ResultSet对象的格式返回信息列表。可以使用正常ResultSet方法(如getString和getInt)来从这些Res

    2022年6月19日
    32
  • Mysql经典练习题50题「建议收藏」

    Mysql经典练习题50题「建议收藏」网上关于这套练习题较多使用的是比较老的mysql版本,我使用的是Serverversion:8.0.15MySQL练习数据数据表–1.学生表Student(SId,Sname,Sage,Ssex)–SId学生编号,Sname学生姓名,Sage出生年月,Ssex学生性别–2.课程表Course(CId,Cname,TId)–CId–课程编号,Cna…

    2022年9月18日
    3
  • MySQL数据类型

    MySQL数据类型

    2021年6月13日
    110
  • windows打开多个微信_win7怎么运行两个相同软件

    windows打开多个微信_win7怎么运行两个相同软件windows 打开多个微信

    2022年4月21日
    111
  • 单工半双工和全双工的区别_什么是单工双工半双工

    单工半双工和全双工的区别_什么是单工双工半双工一、单工1、数据只在一个方向上传输,不能实现双方通信。2、栗子:电视、广播。二、半双工1、允许数据在两个方向上传输,但是同一时间数据只能在一个方向上传输,其实际上是切换的单工。2、栗子:对讲

    2022年8月2日
    6
  • matlab之simulink仿真入门

    matlab之simulink仿真入门MatlabSimulink仿真工具的应用****Simulink是一个用来对动态系统进行建模、仿真和分析的软件包。使用Simulink来建模、分析和仿真各种动态系统(包括连续系统、离散系统和混合系统),将是一件非常轻松的事情。它提供了一种图形化的交互环境,只需用鼠标拖动的方法便能迅速地建立起系统框图模型,甚至不需要编写一行代码。由于Simulink具有强大的功能与友好的用户界面,因此它已

    2022年6月4日
    32

发表回复

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

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