【目录】
不考虑其他进程,
cpu 画正弦曲线
获取总体
cpu 利用率
获取多核处理器单个
cpu 利用率
考虑其他进程,
cpu 画正弦曲线
下面的程序针对多核处理器,可以设置让任何一个
cpu 显示相应的曲线(本文以正弦曲线
为例)
代码编译环境:
windows 7 64 位 酷睿 i5 处理器,vs2010.
可以修改
CpuSin 函数的计算 busySpan 和 idleSpan 的部分以显示不同的曲线。
下面的代码没有考虑
cpu 中其他进程的占用情况,这种情况详见第二部分
1
#include <windows.h>
2
#include <stdio.h>
3
#include <math.h>
4
5
//把一条正弦曲线 0~2pi 之间的弧度等分 200 份抽样,计算每个点的振幅
6
//然后每隔 300ms 设置下一个抽样点,并让 cpu 工作对应振幅时间
7
const
int
samplingCount =
200
;
//抽样点数目
8
const
double
pi =
3.1415926
;
9
const
int
totalAmplitude =
300
;
//每个抽样点对应时间片
10
const
double
delta =
2.0
/samplingCount;
//抽样弧度的增量
11
12
int
busySpan[samplingCount];
//每个抽样点对应的 busy 时间
13
int
idleSpan[samplingCount];
//每个抽样点对应的 idle 时间
14
15
//一个线程调用 MakeUsageSin,并把该线程绑定到一个 cpu,那么该 cpu 呈现正弦曲
线
16
DWORD WINAPI MakeUsageSin(LPVOID lpParameter)