前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JAVA统计服务器资源(cpu,内存,磁盘)–LINUX

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

作者头像
全栈程序员站长
发布2022-06-28 15:32:56
14.9K0
发布2022-06-28 15:32:56
举报
文章被收录于专栏:全栈程序员必看

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

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中找到想要的东西了

代码语言:javascript
复制
模块 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()

返回操作系统版本。

代码演示

代码语言:javascript
复制
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.cn/132871.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年6月1,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • JAVA统计服务器资源(cpu,内存,磁盘)–LINUX
    • 使用类:
      • API 说明
        • 父类方法
          • 代码演示
          相关产品与服务
          云服务器
          云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档