方法参考网上的一段代码,把它改成了类以方便调用,很简单,但是可以一用,哈哈。

cpu_usage.h

#include <windows.h>

class CpuUsage {
public:
CpuUsage();
void init();
// get cpu usage rate from the last invoke of the function or init
int get(); private:
bool inited_;
ULONGLONG cpu_time_;
ULONGLONG cpu_idle_time_;
};

cpu_usage.cpp

#include "cpu_usage.h"

CpuUsage::CpuUsage(): inited_(false) {}

void CpuUsage::init() {
FILETIME ft_sys_idle;
FILETIME ft_sys_kernel;
FILETIME ft_sys_user; ULARGE_INTEGER ul_sys_idle;
ULARGE_INTEGER ul_sys_kernel;
ULARGE_INTEGER ul_sys_user; GetSystemTimes(&ft_sys_idle, /* System idle time */
&ft_sys_kernel, /* system kernel time */
&ft_sys_user); /* System user time */ CopyMemory(&ul_sys_idle, &ft_sys_idle, sizeof(FILETIME));
CopyMemory(&ul_sys_kernel, &ft_sys_kernel, sizeof(FILETIME));
CopyMemory(&ul_sys_user, &ft_sys_user, sizeof(FILETIME)); cpu_time_ = ul_sys_kernel.QuadPart + ul_sys_user.QuadPart;
cpu_idle_time_ = ul_sys_idle.QuadPart; inited_ = true;
} // get cpu usage rate from the last invoke of the function or init
int CpuUsage::get() {
if (!inited_)
return -; FILETIME ft_sys_idle;
FILETIME ft_sys_kernel;
FILETIME ft_sys_user; ULARGE_INTEGER ul_sys_idle;
ULARGE_INTEGER ul_sys_kernel;
ULARGE_INTEGER ul_sys_user; GetSystemTimes(&ft_sys_idle, /* System idle time */
&ft_sys_kernel, /* system kernel time */
&ft_sys_user); /* System user time */ CopyMemory(&ul_sys_idle, &ft_sys_idle, sizeof(FILETIME));
CopyMemory(&ul_sys_kernel, &ft_sys_kernel, sizeof(FILETIME));
CopyMemory(&ul_sys_user, &ft_sys_user, sizeof(FILETIME)); ULONGLONG interval = ul_sys_kernel.QuadPart + ul_sys_user.QuadPart - cpu_time_;
int use_rate = (interval - (ul_sys_idle.QuadPart - cpu_idle_time_)) * / interval; cpu_time_ = ul_sys_kernel.QuadPart + ul_sys_user.QuadPart;
cpu_idle_time_ = ul_sys_idle.QuadPart; return use_rate;
}

Windows下测量cpu利用率的类的更多相关文章

  1. 如何在Windows下用cpu模式跑通py-faster-rcnn 的demo.py

    关键字:Windows.cpu模式.Python.faster-rcnn.demo.py 声明:本篇blog暂时未经二次实践验证,主要以本人第一次配置过程的经验写成.计划在7月底回家去电脑城借台机子试 ...

  2. Windows下用cpu模式跑通目标检测py-faster-rcnn 的demo.py

    关键字:Windows.cpu模式.Python.faster-rcnn.demo.py 声明:原文发表在博客园,未经允许不得转载!!!本篇blog过程已经多名读者实践验证,有人反馈报错TypeErr ...

  3. Windows下获取CPU频率

    一直想在Windows下取得CPU的时钟速度,找了好久终于找到了函数CallNtPowerInformation,要想使用它,首先必须包含powrprof.h头文件和链接库powerprof.lib. ...

  4. python在windows下获取cpu、硬盘、bios、主板序列号

    测试 此处使用的是wmi库,可以去google里面搜索“python wmi” import os, sysimport timeimport wmi,zlib def get_cpu_info() ...

  5. windows下 Memcache cpu占用过高

    分析应该是memcache的内存大小还是默认配置,已经满足不了当前的大数据量的需要了,大量的新缓存需要进入,同时大量的旧缓存又需要被淘汰出来,一进一出导致CPU占用过多. 进入注册表,找到:HKEY_ ...

  6. 浅谈Linux下CPU利用率和CPU负载【转】

    转自:https://blog.csdn.net/Alisa_xf/article/details/71430406 在Linux/Unix下,CPU利用率(CPU utilization)分为用户态 ...

  7. Linux下CPU利用率和负载的关系

    1.CPU利用率和负载 CPU利用率显示的是程序在运行期间实时占用的CPU百分比:cpu使用率反映的是当前cpu的繁忙程度,忽高忽低的原因在于占用cpu处理时间的进程可能处于io等待状态但却还未释放进 ...

  8. linux下实现CPU使用率和内存使用率获取方法

    想获取一下目标机运行时linux系统的硬件占用情况,写了这几个小程序,以后直接用了. 方法就是读取proc下的文件来获取了. cpu使用率:    /proc/stat ,内存使用情况:     /p ...

  9. Linux下 查看CPU信息

    参考: Linux和Windows下查看cpu和core个数 Linux下 查看CPU信息 1.查看完整CPU信息: $ cat /proc/cpuinfo 2.查看逻辑cpu个数: $ cat /p ...

随机推荐

  1. Django框架基于session的登录/注销实现

    博主最近想基于Django框架开发一个测试平台,第一版先实现查看下载自动化的测试报告文件 第一步:前端框架 网上选择一款开源boostrap的前端框架 AdminLTE,这里给个链接  https:/ ...

  2. Android------个人项目(歆语气象通)

    歆语气象通: 歆语气象伴随你的身边,便捷生活. 包含了以下功能: 1. 天气预报数据覆盖中国城市和地区:2. 提供一周天气预报及最低最高温度,时刻关注天气,轻松计划出行:3. 各种指数详细信息,如太阳 ...

  3. supervisor进程管理工具

    Supervisor 一个python写的进程管理工具,用来启动.关闭.重启进程,可以同时控制多个进程. 安装: pip install supervisor 配置: 通过配置文件来满足自己的需求 配 ...

  4. IOS-网络(HTTP请求、同步请求、异步请求、JSON解析数据)

    // // ViewController.m // IOS_0129_HTTP请求 // // Created by ma c on 16/1/29. // Copyright © 2016年 博文科 ...

  5. 004——php字符串中处理函数(三)

    <?php /** * 字符串替换函数: * str_replace(); 替换字符串或数组元素,区分大小写,第四个参数可选,用于统计替换次数 * str_ireplace()不区分大小写替换 ...

  6. ENUMSTXT.H中的指针数组

    /************************************************************************                            ...

  7. UVALive 5903 Piece it together 二分匹配,拆点 难度:1

    https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_probl ...

  8. iOS笔记之ScrollView

    ScrollView三个基本的要理解的属性: contentSize The size of the content view.所以很好理解,contentSize也就是scrollView可滚动的区 ...

  9. New Concept English Two 16 40

    Keynote Speech  are useful. $课文38  唯独没有考虑到天气 388. My old friend, Harrison, had lived in the Mediterr ...

  10. OPENCV Linux安装

    https://docs.opencv.org/master/d7/d9f/tutorial_linux_install.html