JAVA获取当前机器负载情况

Posted Y飞羽Y

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA获取当前机器负载情况相关的知识,希望对你有一定的参考价值。

import com.sun.management.OperatingSystemMXBean;

import java.lang.management.ManagementFactory;

/**
 * @author:飞羽
 * @date:2023/2/2 10:22
 * @Description:
 */
public class Main 

    //要注意这个osmxb是com.sum的,而不是java.lang的
    private static OperatingSystemMXBean  osmxb = (OperatingSystemMXBean) ManagementFactory.getOperatingSystemMXBean();
    
    public static void main(String[] args)
        
        //当前服务器总内存,单位B
        System.out.println(osmxb.getTotalPhysicalMemorySize());
        //当前服务器空闲内存,单位B
        System.out.println(osmxb.getFreePhysicalMemorySize());
        //当前CPU使用率,0.86这样的
        System.out.println(osmxb.getSystemCpuLoad());
    


注意,这个是获取本机的负载,如果想获取的是其他机的负载,怎么办?
解决方案:在其他机上运行这个程序,并将获取到的负载上报给你的本机。

原理其实很自然,现实生活中,如果你想知道一个房间的大小,当然是要走到这个房间里面才知道。
如果你不想进入别的房间,又想知道别的房间的大小,那自然就是派别人进去看一下,然后把大小上报给你,不就解决了?

以上是关于JAVA获取当前机器负载情况的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Photon Unity 中获取封闭房间的名称?

从 Forge api 获取房间/区域信息

获取消息内容成命令[discord.py]

irc使用教程

直播中,允许一个房间进入无限多人的方案

在实现负载平衡器时将同一房间的请求路由到使用 Web 套接字的同一服务器