獲取CPU和內存的使用率

1.獲取CPU的使用率

主要就是一個計算。函數

int CUseRate::GetCPUUseRate()                    //獲取CPU使用率
{
    int nCPUUseRate = -1;
    FILETIME ftIdle, ftKernel, ftUser;
    if (GetSystemTimes(&ftIdle, &ftKernel, &ftUser))
    {
        double fCPUIdleTime = FileTimeToDouble(ftIdle);
        double fCPUKernelTime = FileTimeToDouble(ftKernel);
        double fCPUUserTime = FileTimeToDouble(ftUser);
        //CPU利用率公式
        nCPUUseRate= (int)(100.0 - (fCPUIdleTime - m_fOldCPUIdleTime) / (fCPUKernelTime - m_fOldCPUKernelTime + fCPUUserTime - m_fOldCPUUserTime) *100.0);
        m_fOldCPUIdleTime = fCPUIdleTime;
        m_fOldCPUKernelTime = fCPUKernelTime;
        m_fOldCPUUserTime = fCPUUserTime;
    }
    return nCPUUseRate;
}

2.獲取內存使用率 

調用GlobalMemoryStatusEx函數獲取spa

long long CUseRate::getRam()                //獲取當前內存使用率
{
    long long ram;
    MEMORYSTATUSEX statex;
    statex.dwLength =sizeof(statex);
    GlobalMemoryStatusEx(&statex);
    ram = statex.dwMemoryLoad;
    return ram;
}

3.結果image

 

 

工程源碼:http://download.csdn.net/detail/qq_33892166/9889310.net

相關文章
相關標籤/搜索