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)
上一篇 2022年6月10日 上午8:36
下一篇 2022年6月10日 上午8:36


相关推荐

  • CSS完美实现iframe高度自适应

    CSS完美实现iframe高度自适应CSS 完美实现 iframe 高度自适应 支持跨域 Iframe 的强大功能偶就不多说了 它不但被开发人员经常运用 而且黑客们也常常使用它 总之用过的人知道它的强大之处 但是 Iframe 有个致命的 BUG 就是 iframe 的高度无法自动适应 这一点让很多人都头疼万分 百度或是谷歌一下 确实很多解决方法 但尝试一下 会发现问题很多 浏览器兼容性差 不能自适应 仅支持同域 Iframe 等诸多问题 尤其是跨域 I

    2026年3月16日
    3
  • sql学习

    sql学习SQL学习基础SQL是什么?可以做什么?sql的全称是StructuredQueryLanguage,可以访问数据库,对数据进行增删改查,1986年成为ANSI(美国国家标准化组织)的一项标

    2022年7月2日
    27
  • Python变量

    Python中变量类型:局部变量全局变量类变量对象变量外部变量

    2021年12月18日
    50
  • Datagrip2021.8.3激活码【中文破解版】[通俗易懂]

    (Datagrip2021.8.3激活码)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.htmlS3…

    2022年3月25日
    92
  • 新书问答 :《看板成熟度模型》

    新书问答 :《看板成熟度模型》

    2021年6月5日
    127
  • 树莓派4B设置USB启动

    树莓派4B设置USB启动千呼万唤始出来!官方在2020-05-15发布了一个4B的beta版EEPROM固件更新,这次更新终于增加了期待已久的USB引导功能,今天这个教程就来讲一下如何使用USB而脱离SD卡启动树莓派4B。

    2022年5月18日
    93

发表回复

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

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