CE6 CPU 使用率

直接上代码:

 1 /*
 2 在 OEMIdle() 函数中 OEM 根据 (int)(dwRescheduleTime – CurMSec)
 3 计算值判断是否让 CPU 进入 idle 状态,因此我们可以利用此函数来计算 CPU 的 loading.
 4 根据 MSDN ,可以写个应用程序,每 100ms 去计算一次 idle 的时间,
 5 10 次评价后,在UI上更新,以下是一个被 Timer 循环调用的函数。建议将此函数写成的一个线程。
 6 */
 7
 8 void CSystemInfoDlg::GetCpuStatus(CString &csInfo)
 9 {
10 #define IDLE_COUNT  10
11   DWORD dwStartTick = 0;
12   DWORD dwIdleStart = 0;
13   DWORD dwStopTick = 0;
14   DWORD dwIdleEnd = 0;
15   int iPresentIdle = 0;
16   int iCpuUage[IDLE_COUNT] = {0};
17   int iCount = 0;
18   int iAverage = 0;
19   static int iPreAverage = 0;
20   DWORD dwSum = 0;
21   int i = 0;
22
23   while(iCount < IDLE_COUNT)
24   {
25     dwStartTick = GetTickCount();
26     dwIdleStart = GetIdleTime();
27     Sleep(100);
28
29     dwStopTick = GetTickCount();
30     dwIdleEnd = GetIdleTime();
31
32     iPresentIdle = (100 * (dwIdleEnd - dwIdleStart)) / (dwStopTick - dwStartTick);
33     iCpuUage[iCount] = iPresentIdle;
34     iCount++;
35     //10 times count
36     if(IDLE_COUNT == iCount)
37     {
38       for(i = 0;i < IDLE_COUNT;i++)
39       {
40         dwSum += iCpuUage[i];
41       }
42       iAverage = dwSum / IDLE_COUNT;
43
44       if(iPreAverage != iAverage)
45       {
46         iPreAverage = iAverage;
47       }
48       RETAILMSG(1,(TEXT("CPU used is:%d%%\r\n"),100 - iAverage));
49       csInfo.Format(L"CPU used is:%d%%.",100 - iAverage);
50
51       break;
52     }
53   }
54 }  
时间: 2024-10-11 16:56:33

CE6 CPU 使用率的相关文章

zabbix自动发现与监控内存和CPU使用率最高的进程

监控需求 某项目的应用服务器CPU和内存使用率的监控,通过zabbix系统监控记录应用服务器上进程的CPU和内存的使用情况,并以图表的形式实时展现,以便于我们分析服务器的性能瓶颈. 监控方式 利用zabbix监控系统的自动发现功能,首先编写shell脚本获取服务器的CPU和内存资源使用率最大的进程,以json的格式输出,然后对这些进程的CPU和内存资源使用情况进行监控.(本文监控的进程为Linux服务器中资源使用率最高的10个进程.) 缺点 不适用于监控固定的进程 首先使用top命令查看进程状态

Linux 下 CPU 使用率与机器负载的关系与区别

原文链接:  http://blog.chinaunix.net/uid-28541347-id-4926054.html 当我们使用top命令查看系统的资源使用情况时会看到load average,如下图所示.它表示系统在1,5,15分钟的平均工作负载.那么什么事负载(load)呢?它和cpu的利用率又有什么关系呢? load average:系统平均负载是CPU的Load,它所包含的信息不是CPU的使用率状况,而是在一段时间内CPU正在处理以及等待CPU处理的进程数之和的统计信息,也就是CP

用python查看树莓的CPU使用率

http://www.blogjava.net/fjzag/articles/317773.html http://blog.csdn.net/a6225301/article/details/47092707 http://www.iplaypy.com/code/linux/l2546.html ------------------------------------------参考上面网址 感觉使用python就像是在复习liunx操作系统知识一样.python像是一头大蟒蛇控制着一切~p

服务器CPU使用率过高的处理

最近发现公司服务器搭建的网站访问缓慢,服务器输入命令也反应慢,处理步骤如下: 1.通过top命令查看服务器CPU.内存.IO等使用情况 发现CPU基本在80%以上:内存还好,有富余:CPU平均加载率Load Average也是达到40左右 2.通过vmstat.iostat参看相关参数,确认是CPU占用很高,CPU不够用,当时以为服务器CPU被用完了,但是应用不是很多,两CPU是够用的 3.后来慢慢看进程和服务线程以及端口号占用和包发送,(w.procinfo.ps.uptime.netstat

获取Windows操作系统的CPU使用率以及内存使用率

阅读目录 声明定义 引用lib文件 获取操作系统CPU使用率 获取操作系统内存大小 获取操作系统内存使用率 此功能参考了ProcessHacker项目的代码. 回到顶部 声明定义  Collapse typedef struct _UINT64_DELTA { ULONG64 Value; ULONG64 Delta; } UINT64_DELTA, *PUINT64_DELTA; typedef struct _UINTPTR_DELTA { ULONG_PTR Value; ULONG_PT

%iowait和CPU使用率的正确认知

resources 理解 %IOWAIT (%WIO) LINUX系统的CPU使用率和LOAD Linux Performance Observability Tools How Linux CPU Usage Time and Percentage is calculated Linux进程状态 man (on RHEL 7) # man mpstat %usr Show the percentage of CPU utilization that occurred while executi

top命令显示CPU使用率过了100%原因

1.使用top命令查看发现cpu使用率超过了100%,如下图: 4868 root      20   0  161m  768  568 S 100.1  0.0   6867:56 pidguard 2.我的机器是8cpu的,经过检查发现top命令显示的是占用的cpu总数. 即8cpu时top下cpu利用率最大可以到达800%. 如果你的进程利用了多个cpu,那么top命令显示的是多个cpu占用率的总和. 所以top命令下查看到的cpu利用率是可能超过100%的.

Java进程CPU使用率高排查

近期java应用,CPU使用率一直很高,经常达到100%,通过以下步骤完美解决,分享一下. 1.jps 获取Java进程的PID. 2.jstack pid >> java.txt 导出CPU占用高进程的线程栈. 3.top -H -p PID 查看对应进程的哪个线程占用CPU过高. 4.echo "obase=16; PID" | bc 将线程的PID转换为16进制. 5.在第二步导出的Java.txt中查找转换成为16进制的线程PID.找到对应的线程栈. 6.分析负载高

查找Linux中内存和CPU使用率最高的进程

下面的命令会查看到按照RAM和CPU降序方式的前最高几名进程的列表: [[email protected] ~]# ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head PID PPID CMD %MEM %CPU 1 0 /sbin/init 0.1 0.0 2 0 [kthreadd] 0.0 0.0 3 2 [migration/0] 0.0 0.0 4 2 [ksoftirqd/0] 0.0 0.0 5 2 [stopper/0] 0.0 0