1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 获取CPU利用率 系统内存和进程内存

获取CPU利用率 系统内存和进程内存

时间:2018-07-20 00:01:07

相关推荐

获取CPU利用率 系统内存和进程内存

示例代码如下

#include <iostream>#include <windows.h>#include <Psapi.h>using namespace std;__int64 CompareFileTime(FILETIME t1,FILETIME t2){__int64 a = t1.dwHighDateTime << 32 | t1.dwLowDateTime;__int64 b = t2.dwHighDateTime << 32 | t2.dwLowDateTime;return (b - a);}int GetCpuUsage(){HANDLE hEvent;FILETIME preidleTime;FILETIME prekernelTime;FILETIME preuserTime;FILETIME idleTime;FILETIME kernelTime;FILETIME userTime;GetSystemTimes(&idleTime, &kernelTime, &userTime);preidleTime = idleTime;prekernelTime = kernelTime;preuserTime = userTime;hEvent = CreateEvent(NULL, FALSE, FALSE, NULL);WaitForSingleObject(hEvent, 500);GetSystemTimes(&idleTime, &kernelTime, &userTime);__int64 idle = CompareFileTime(preidleTime, idleTime);__int64 kernel = CompareFileTime(prekernelTime, kernelTime);__int64 user = CompareFileTime(preuserTime, userTime);__int64 iCpuUsage = -1;iCpuUsage = (kernel + user - idle) * 100 / (kernel + user);return iCpuUsage;}int main(){//获取系统内存使用率MEMORYSTATUS ms;GlobalMemoryStatus(&ms);cout << "Mem usage = " << ms.dwMemoryLoad << endl;//获取进程的内存(Private Bytes)PROCESS_MEMORY_COUNTERS pmc;GetProcessMemoryInfo(GetCurrentProcess(), &pmc, sizeof(PROCESS_MEMORY_COUNTERS));cout << "Current Process Mem usage = " << pmc.PagefileUsage << endl;//获取当前系统的CPU利用率__int64 iCpuUsage = GetCpuUsage();cout << "CPU usage = " << iCpuUsage << endl;return 0;}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。