64位电脑获取CPU使用率(使用c语言)

来自:    更新日期:早些时候
请问怎么用c语言获取电脑(windows)的cpu,内存,硬盘利用率等信息?Linux系统一样吗?~

Windows系统可以搜索MSDN参考,Windows System Information这个章节下都是这一类的函数;Linux和Windows的系统调用完全不同

搜一下:利用sigar获取进程cpu、内存使用率,用C语言实现

GlobalMemoryStatusEx
获得系统时间:
CopyBOOL WINAPI GetSystemTimes(
__out_opt LPFILETIME lpIdleTime, //空闲时间
__out_opt LPFILETIME lpKernelTime, //内核时间
__out_opt LPFILETIME lpUserTime //用户时间
);

#define _WIN32_WINNT 0x0501
#include <Windows.h>
#include <iostream>
using namespace std;

__int64 CompareFileTime ( FILETIME time1, FILETIME time2 )
{
__int64 a = time1.dwHighDateTime << 32 | time1.dwLowDateTime ;
__int64 b = time2.dwHighDateTime << 32 | time2.dwLowDateTime ;

return (b - a);
}
void main()
{
HANDLE hEvent;
BOOL res ;

FILETIME preidleTime;
FILETIME prekernelTime;
FILETIME preuserTime;

FILETIME idleTime;
FILETIME kernelTime;
FILETIME userTime;

res = GetSystemTimes( &idleTime, &kernelTime, &userTime );

preidleTime = idleTime;
prekernelTime = kernelTime;
preuserTime = userTime ;

hEvent = CreateEvent (NULL,FALSE,FALSE,NULL); // 初始值为 nonsignaled ,并且每次触发后自动设置为nonsignaled

while (1){
WaitForSingleObject( hEvent,1000 ); //等待500毫秒
res = GetSystemTimes( &idleTime, &kernelTime, &userTime );

int idle = CompareFileTime( preidleTime,idleTime);
int kernel = CompareFileTime( prekernelTime, kernelTime);
int user = CompareFileTime(preuserTime, userTime);

int cpu = (kernel +user - idle) *100/(kernel+user);//(总的时间-空闲时间)/总的时间=占用cpu的时间就是使用率
int cpuidle = ( idle) *100/(kernel+user);
cout << "CPU利用率:" << cpu << "%" << " CPU空闲率:" <<cpuidle << "%" <<endl;

preidleTime = idleTime;
prekernelTime = kernelTime;
preuserTime = userTime ;
}
}


64位电脑获取CPU使用率(使用c语言)视频

相关评论:
  • 1316429292364位电脑获取CPU使用率(使用c语言)
    邴治彪int cpu = (kernel +user - idle) *100\/(kernel+user);\/\/(总的时间-空闲时间)\/总的时间=占用cpu的时间就是使用率 int cpuidle = ( idle) *100\/(kernel+user);cout << "CPU利用率:" << cpu << "%" << " CPU空闲率:" <<cpuidle << "%" <<endl;preidleTime = idleTime...

  • 13164292923Win7 64位旗舰版系统下cpu使用率100%的解决方法
    邴治彪2)在打开的服务窗口中,找到并双击“Multimedia Class Scheduler”服务项,然后选择将其禁用,并点击停止,之后点击确定保存退出即可。3)重启计算机即可解决。

  • 13164292923win7如何查看cpu使用率|win7查看cpu占用情况的方法
    邴治彪解决方法:1、右键点击任务栏空白处打开菜单,选择“启动任务管理器”,如下图所示;2、进去任务管理器之后,在下方我们可以看到cpu的使用率了,如下图所示;3、如果想看到每个进程使用cpu的情况,可以点击“查看”,选择“选择列”,如下图所示;4、打开“选择进程页列”窗口后,勾选上“cpu使用率”...

  • 13164292923电脑cpu性能查看教程
    邴治彪1鼠标右键单击桌面底部的任务栏空白处,在弹出右键菜单中点击“任务管理器”2点击“性能”,再点击这一页中左侧的“cpu”,这时可以看到cpu使用率的波形图3波形图谷底是0%使用率,峰顶是100%使用率,波形图下方。CPU运行频率直接影响着电脑的运行性能,下面是我为大家介绍CPU运行频率的查看方法,欢迎大家...

  • 1316429292364位旗舰版WIN7无故CPU使用率极高怎么办?
    邴治彪如下图:二、修改服务禁用 1)打开运行对话框之后在里面输入“services.msc”,点击回车键把服务窗口打开;2)在服务窗口里面找到“Multimedia Class Scheduler”服务项然后双击将其禁用,然后就确定保存并退出就可以了。3)设置好了之后,再次重启电脑就可以解决win7 64位旗舰版cpu使用率满的问题了。

  • 13164292923电脑CPU使用率总是显示100%是什么情况!
    邴治彪cpu使用率一直100%,有两种情况: 1.电脑的CPU及内存等硬件配置低,在运行程序时会提示内存使用率及CPU使用率过高;64位系统对硬件要求比32位高一些,视觉效果设定越高,对使用率也会很高。 2.运行程序过多。系统运行过多的无关进程。现在的网站下载某软件会遇到恶意捆绑其它软件,开机自启动,吃掉大量电脑硬件资源。当然...

  • 13164292923...进程内有个update64.exe一直占据75%的CPU使用率,怎么关?
    邴治彪由于电脑配置不高或工作需要较高的cpu等原因,cpu经常占用很高,今天就来分享如何解决cpu使用率占用高的问题。参考资料由系统下载基地整理发布。打开任务管理器,关闭一些占用cpu较高的进程,但是不要关闭SystemIdleProcess这个进程,这个进程是系统管理的进程,另外有很多个svchost.exe,这些进程也不要随便关闭...

  • 13164292923windows7 64位 玩游戏CPU 占用率非常高,是什么原因?
    邴治彪笔记本CPU处于降频状态,各个方面的性能都没有达到最佳状态容易导致CPU占用过高。2、关闭多余的启动项。电脑的启动项过多是造成CPU占用过高的原因之一,我们需要减少电脑开启不必要的启动项。3、关闭不需要的安全软件。安全软件也会占用一定的CPU使用率,如果电脑内有多个安全软件还可能引起冲突。

  • 13164292923是不是64位系统占用CPU比32的高
    邴治彪是,当然是.会高点.因为电脑CPU运算使用的是二进位制.8个位组成一个字节,2个字节组成一个标准汉字,处理的位数越高,表明其运算速度越快。从理论上讲,64位处理制要比32位处理制运算速度要快一倍,但在现在实际运用中.64位相对32位处理制组装的电脑快不了那么多,主要原因是主机中的其它硬件或软件...

  • 13164292923win7 64位旗舰版cpu使用率满了该怎么办
    邴治彪解决WIN7 64位旗舰版cpu使用率高的操作方法:一、禁用DiagTrack Diagnostics Tracking Service服务 首先在键盘上面按WIN+R调出运行,输入 services.msc 回车。在本地服务中找到DiagTrack Diagnostics Tracking Service服务,双击打开设置,停止该服务并设置启动类型为“禁用”,如下图所示:二、关闭同步设置 点击...

  • 相关主题精彩

    版权声明:本网站为非赢利性站点,内容来自于网络投稿和网络,若有相关事宜,请联系管理员

    Copyright © 喜物网