import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.math.BigDecimal;
public class CPULoad {
private static int CPU_SLEEP_TIME = 3000;
private static long[] getCpuInfo() throws IOException {
long TOTAL, USER, NICE, SYSTEM, IDLE,IOWAIT,IRQ,SOFTIRQ;
BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream("/proc/stat")), 1000);
String load = reader.readLine();
reader.close();
String[] toks = load.split(" ");
USER = Long.parseLong(toks[2]);
NICE = Long.parseLong(toks[3]);
SYSTEM = Long.parseLong(toks[4]);
IDLE = Long.parseLong(toks[5]);
IOWAIT = Long.parseLong(toks[6]);
IRQ = Long.parseLong(toks[7]);
SOFTIRQ = Long.parseLong(toks[8]);
TOTAL=USER+NICE+SYSTEM+IDLE+IOWAIT+IRQ+SOFTIRQ;
return new long[] {TOTAL, USER, NICE, SYSTEM, IDLE,IOWAIT,IRQ,SOFTIRQ};
}
public static float readUsage() throws InterruptedException, IOException {
long[] cpuInfo_1 = getCpuInfo();
long TOTLE_1;
TOTLE_1 = cpuInfo_1[0];
Thread.sleep(CPU_SLEEP_TIME);
long[] cpuInfo_2 = getCpuInfo();
long TOTLE_2;
TOTLE_2 = cpuInfo_2[0];
float usage = (((float) ((cpuInfo_2[1] + cpuInfo_2[3]) - (cpuInfo_1[1] + cpuInfo_1[3])) / (float) (TOTLE_2 - TOTLE_1)) * 100);
BigDecimal b = new BigDecimal(usage);
usage = b.setScale(2, BigDecimal.ROUND_HALF_UP).floatValue();
return usage;
}
public static void main(String args[]) throws Exception {
for (int i = 0; i < 100; i++) {
System.out.println(">>>>>>>>\t" + readUsage());
Thread.sleep(1000);
}
}
}
分享到:
相关推荐
在IT领域,特别是系统监控与性能分析中,获取CPU占用率是评估系统健康状况和优化资源分配的关键步骤。本文将详细解析如何使用Java语言来获取CPU占用率,这不仅涉及了基本的Java编程技巧,还深入到了操作系统级别的...
在Android平台上,获取CPU使用率和内存实时数据是开发者进行性能监控、优化应用或实现系统监控功能的关键步骤。本文将详细介绍如何在Android中获取这些关键信息,并提供相关的代码示例。 首先,我们要理解CPU使用率...
在IT领域,尤其是在系统监控和性能分析中,了解如何获取CPU占用率对于开发者和系统管理员至关重要。本项目专注于使用C#编程语言实现一个任务管理器功能,特别关注于获取CPU占用率较高的前三个进程,这对于识别系统...
通过编程方式获取CPU使用率,可以帮助开发者了解程序运行时对系统资源的占用情况,从而优化程序性能。以下是一些关于如何使用VC++(MFC库)和其他相关工具来获取CPU使用率的知识点。 首先,VC++中的MFC库并没有直接...
在C++编程中,获取CPU使用率是一项常见的需求,无论是为了监控系统性能,还是分析某个特定进程的资源消耗。本文将详细讲解如何使用C++来获取系统整体的CPU使用率以及单个进程的CPU使用率。 首先,我们需要理解CPU...
标题中提到的“delphi调用C#DLL获取cpu使用率”说明了本次讨论的两个主要知识点:一是Delphi编程语言,二是C#语言创建的动态链接库(DLL)文件的应用。 在Delphi中调用C#生成的DLL文件,涉及到跨语言交互和系统级...
以下是一个简单的示例,展示了如何在Linux上使用标准I/O流和文件解析来获取CPU使用率: ```cpp #include #include #include // 解析/proc/stat文件 std::vector<unsigned long long> parseStatFile(const std::...
- 使用`GetProcessTimes`获取CPU使用率。 - 最后,程序可能会将这些信息打印出来或保存到文件中。 6. **注意事项**: 获取其他进程的信息需要足够的权限,一般需要`PROCESS_QUERY_INFORMATION`和`PROCESS_VM_...
linux c程序获取cpu使用率及内存使用情况
使用VB C语言 获取电脑CPU使用率,小巧实用,小内存使用,堪比鲁大师(说笑而已),完全代码公开,全解注释,直接F5运行,完全自己手动编写,适合有兴趣的猿员人们研究,桌面显示实时监控!!CPU使用率源代码,CPU使用...
在编程领域,获取CPU占用率是一项常见的任务,特别是在系统监控、性能分析以及资源管理的场景中。VC 6,全称Visual C++ 6.0,是微软开发的一款经典C++集成开发环境。通过VC 6编写的代码,我们可以利用Windows API来...
标题中的"获取CPU占用率、物理内存、硬盘源码,修正支持win10"指出,这是一段用于监测Windows 10系统硬件资源利用率的代码。下面将详细介绍这个主题,并基于描述中提到的代码来源进行解析。 首先,我们要了解如何在...
在Qt库中,并没有直接提供获取CPU使用率的API。因此,我们需要借助于操作系统提供的接口,例如在Unix/Linux系统中,可以使用`/proc`文件系统或者`psutil`库(Python第三方库,可以跨平台使用);在Windows系统中,...
JavaScript获取CPU使用率的方法主要分为两种情况:一种是通过ActiveXObject在特定环境下获取,另一种是通过模拟计算来估算。这两种方法都有其局限性,但可以在不同的场景下提供一定的参考。 首先,如果允许使用HTA...
在IT领域,尤其是在系统监控和性能分析中,获取CPU使用率和内存信息是至关重要的任务。QT是一个跨平台的C++开发框架,它提供了一系列API和工具,使得开发者能够轻松地实现这些功能。本文将详细讲解如何使用QT来获取...
在Red Hat Linux操作系统中,获取CPU占用率是监控系统性能的重要环节。这个程序是一个简单的C语言实现,用于计算CPU的使用率。它通过读取`/proc/stat`文件来获取CPU的状态信息,然后进行计算。下面我们将详细讲解...
### vb获取CPU使用率 在本篇文章中,我们将探讨如何使用Visual Basic (VB) 编程语言来获取计算机CPU的使用率。对于那些对系统监控、性能分析或资源管理感兴趣的开发者来说,这是一个非常实用的功能。 #### 一、...
这是Linux下获取CPU占用率的源代码,已在CentOS上验证通过,能够获取CPU实时的占用率,代码实现获取CPU占用率
在Linux系统中,使用Qt库开发应用程序时,可以利用各种系统接口来获取CPU使用率、内存占用、网络流量、磁盘I/O速度以及磁盘剩余空间等关键信息。以下将详细讲解如何通过Qt来实现这些功能。 1. CPU使用率: 在Linux...
在Windows系统中,我们可以使用`GetSystemTimes`函数来获取CPU使用时间,并通过`GlobalMemoryStatusEx`获取内存使用信息。在Linux和macOS中,我们可以读取`/proc/stat`和`/proc/meminfo`文件,这些文件包含了系统的...