如何在Windows上获取可用的RAM?

问题描述

我正在寻找返回可用RAM的方法,目前我只找到了这个答案

https://stackoverflow.com/a/2513561/5709159

#include <windows.h>

unsigned long long getTotalSystemMemory()
{
    MEMORYSTATUSEX status;
    status.dwLength = sizeof(status);
    GlobalMemoryStatusEx(&status);
    return status.ullTotalPhys;
}

但是此方法返回总内存。因此,我需要找出如何获取当前正在使用或使用的RAM的方法,而不是直接返回可用的RAM。

如何做到?

编辑

我需要知道可用RAM的数量才能将其显示在我的统计表中。我有一个字段Available RAM :

解决方法

您可以对GlobalMemoryStatusEx()使用相同的调用,并检查MEMORYSTATUSEX结构的.ullAvailPhys字段以获取可用的物理内存量。此值和.ullTotalPhys值之间的差异将是正在使用的物理内存量。