gpt4 book ai didi

java - 使用 Java 分析系统内存/CPU 统计信息

转载 作者:行者123 更新时间:2023-12-01 18:52:26 26 4
gpt4 key购买 nike

我想要简单的结果,如我的 Unix 系统上的总内存、可用内存、CPU 使用率等。目前我正在使用 shell 命令top

Java 中是否有任何功能可以完成同样的事情?

我的目标是通过 Google Gauge Charts 在网络应用程序中显示结果。显然,对我来说使用 Java 会更容易,而不是在 Java 中执行 Unix 命令。

提前致谢

最佳答案

OperatingSystemMXBean operatingSystemMXBean = 
ManagementFactory.getOperatingSystemMXBean();

for (Method method: operatingSystemMXBean.getClass ().getMethods ())
{
method.setAccessible (true);
String methodName = method.getName ();
if (methodName.startsWith ("get")
&& Modifier.isPublic (method.getModifiers ())
&& OperatingSystemMXBean.class.isAssignableFrom (
method.getDeclaringClass ())) {
try
{
System.out.println (
methodName.substring (3) + ": " +
method.invoke (operatingSystemMXBean));
}
catch (Throwable ex)
{
// Ignore
}
}
}

不同操作系统和 Java 版本的输出有所不同。以下是 Linux 上 JDK 1.7 的输出:

FreeSwapSpaceSize: 2172059648
FreePhysicalMemorySize: 1757573120
CommittedVirtualMemorySize: 26741071872
MaxFileDescriptorCount: 8192
OpenFileDescriptorCount: 4
ProcessCpuLoad: 2.0251808355598717E-10
ProcessCpuTime: 60000000
SystemCpuLoad: 0.03673989450920194
TotalPhysicalMemorySize: 101439979520
TotalSwapSpaceSize: 4294950912
Name: Linux
ObjectName: java.lang:type=OperatingSystem
AvailableProcessors: 12
Arch: amd64
SystemLoadAverage: 1.86
Version: 2.6.32.54-0.3-default

SystemLoadAveragetop命令报告的平均负载相同。

关于java - 使用 Java 分析系统内存/CPU 统计信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15401842/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com