`
wingware
  • 浏览: 144820 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

获取CPU的使用率

阅读更多
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);
		}
	}

}
分享到:
评论

相关推荐

    用java获取CPU占用率

    在IT领域,特别是系统监控与性能分析中,获取CPU占用率是评估系统健康状况和优化资源分配的关键步骤。本文将详细解析如何使用Java语言来获取CPU占用率,这不仅涉及了基本的Java编程技巧,还深入到了操作系统级别的...

    android 获取cpu使用率, 内存 实时数据

    在Android平台上,获取CPU使用率和内存实时数据是开发者进行性能监控、优化应用或实现系统监控功能的关键步骤。本文将详细介绍如何在Android中获取这些关键信息,并提供相关的代码示例。 首先,我们要理解CPU使用率...

    C# 任务管理器及控制台获取CPU占用率前3位进程

    在IT领域,尤其是在系统监控和性能分析中,了解如何获取CPU占用率对于开发者和系统管理员至关重要。本项目专注于使用C#编程语言实现一个任务管理器功能,特别关注于获取CPU占用率较高的前三个进程,这对于识别系统...

    VC获取CPU使用率

    通过编程方式获取CPU使用率,可以帮助开发者了解程序运行时对系统资源的占用情况,从而优化程序性能。以下是一些关于如何使用VC++(MFC库)和其他相关工具来获取CPU使用率的知识点。 首先,VC++中的MFC库并没有直接...

    c++获取cpu使用率(包含系统和单进程)

    在C++编程中,获取CPU使用率是一项常见的需求,无论是为了监控系统性能,还是分析某个特定进程的资源消耗。本文将详细讲解如何使用C++来获取系统整体的CPU使用率以及单个进程的CPU使用率。 首先,我们需要理解CPU...

    delphi调用C#DLL获取cpu使用率

    标题中提到的“delphi调用C#DLL获取cpu使用率”说明了本次讨论的两个主要知识点:一是Delphi编程语言,二是C#语言创建的动态链接库(DLL)文件的应用。 在Delphi中调用C#生成的DLL文件,涉及到跨语言交互和系统级...

    获取CPU使用率和空闲率

    以下是一个简单的示例,展示了如何在Linux上使用标准I/O流和文件解析来获取CPU使用率: ```cpp #include #include #include // 解析/proc/stat文件 std::vector&lt;unsigned long long&gt; parseStatFile(const std::...

    Windows下用C语言获取进程cpu使用率

    - 使用`GetProcessTimes`获取CPU使用率。 - 最后,程序可能会将这些信息打印出来或保存到文件中。 6. **注意事项**: 获取其他进程的信息需要足够的权限,一般需要`PROCESS_QUERY_INFORMATION`和`PROCESS_VM_...

    linux c程序获取cpu使用率及内存使用情况

    linux c程序获取cpu使用率及内存使用情况

    vb c c# cpu使用率实时检测 获取CPU使用率

    使用VB C语言 获取电脑CPU使用率,小巧实用,小内存使用,堪比鲁大师(说笑而已),完全代码公开,全解注释,直接F5运行,完全自己手动编写,适合有兴趣的猿员人们研究,桌面显示实时监控!!CPU使用率源代码,CPU使用...

    获取CPU占用率的代码

    在编程领域,获取CPU占用率是一项常见的任务,特别是在系统监控、性能分析以及资源管理的场景中。VC 6,全称Visual C++ 6.0,是微软开发的一款经典C++集成开发环境。通过VC 6编写的代码,我们可以利用Windows API来...

    获取CPU占用率、物理内存、硬盘源码,修正支持win10

    标题中的"获取CPU占用率、物理内存、硬盘源码,修正支持win10"指出,这是一段用于监测Windows 10系统硬件资源利用率的代码。下面将详细介绍这个主题,并基于描述中提到的代码来源进行解析。 首先,我们要了解如何在...

    Qt实现的实时显示CPU使用率

    在Qt库中,并没有直接提供获取CPU使用率的API。因此,我们需要借助于操作系统提供的接口,例如在Unix/Linux系统中,可以使用`/proc`文件系统或者`psutil`库(Python第三方库,可以跨平台使用);在Windows系统中,...

    JavaScript获取当前cpu使用率的方法

    JavaScript获取CPU使用率的方法主要分为两种情况:一种是通过ActiveXObject在特定环境下获取,另一种是通过模拟计算来估算。这两种方法都有其局限性,但可以在不同的场景下提供一定的参考。 首先,如果允许使用HTA...

    获取CPU使用率内存信息.rar

    在IT领域,尤其是在系统监控和性能分析中,获取CPU使用率和内存信息是至关重要的任务。QT是一个跨平台的C++开发框架,它提供了一系列API和工具,使得开发者能够轻松地实现这些功能。本文将详细讲解如何使用QT来获取...

    RedHat Linux获取cpu占用率.docx

    在Red Hat Linux操作系统中,获取CPU占用率是监控系统性能的重要环节。这个程序是一个简单的C语言实现,用于计算CPU的使用率。它通过读取`/proc/stat`文件来获取CPU的状态信息,然后进行计算。下面我们将详细讲解...

    vb获取CPU使用率

    ### vb获取CPU使用率 在本篇文章中,我们将探讨如何使用Visual Basic (VB) 编程语言来获取计算机CPU的使用率。对于那些对系统监控、性能分析或资源管理感兴趣的开发者来说,这是一个非常实用的功能。 #### 一、...

    获取CPU占用率的源代码

    这是Linux下获取CPU占用率的源代码,已在CentOS上验证通过,能够获取CPU实时的占用率,代码实现获取CPU占用率

    Qt linux获取cpu使用率、内存、网络收发速度、磁盘读写速度、磁盘剩余空间

    在Linux系统中,使用Qt库开发应用程序时,可以利用各种系统接口来获取CPU使用率、内存占用、网络流量、磁盘I/O速度以及磁盘剩余空间等关键信息。以下将详细讲解如何通过Qt来实现这些功能。 1. CPU使用率: 在Linux...

    QT/C++实时获取CPU和内存的使用率

    在Windows系统中,我们可以使用`GetSystemTimes`函数来获取CPU使用时间,并通过`GlobalMemoryStatusEx`获取内存使用信息。在Linux和macOS中,我们可以读取`/proc/stat`和`/proc/meminfo`文件,这些文件包含了系统的...

Global site tag (gtag.js) - Google Analytics