欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 运维知识 > windows >内容正文

windows

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

发布时间:2025/3/15 windows 21 豆豆
生活随笔 收集整理的这篇文章主要介绍了 获取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; }

总结

以上是生活随笔为你收集整理的获取CPU利用率 系统内存和进程内存的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。