您的位置:首页 > 其它

20170805Windows12_4_获取系统内存大小及空间内存

2017-08-06 00:06 302 查看

获取系统内存大小及空间内存:

1:要获取系统里面有多少内存,使用了多少,例如在服务器编程里面就需要获取这些信息,如果要获取物理内存大小以及一些详细的资料吗,需要使用函数:
    GlobalMemoryStatus(),函数:
void WINAPI GlobalMemoryStatus(
_Out_ LPMEMORYSTATUS lpBuffer
);


    参数:
typedef struct _MEMORYSTATUS {
DWORD dwLength;//当前整个结构体的长度,Windows里面很多结构体都会有这个,适用于做半杯匹配。
DWORD dwMemoryLoad;//0~100的一个参数,代表内存正在使用的一个状态,与360看到的那个百分比是一样的,
SIZE_T dwTotalPhys;//当前实际内存的大小,是以字节的方式计算的。
SIZE_T dwAvailPhys;//当前物理内存里面可用内存的大小
SIZE_T dwTotalPageFile;//指内存里面分页的个数,分页个数*页面大小=物理内存总大小
SIZE_T dwAvailPageFile;//可用页面大小
SIZE_T dwTotalVirtual;//总进程的大小
SIZE_T dwAvailVirtual;
} MEMORYSTATUS, *LPMEMORYSTATUS;


2:测试代码:
#include <iostream>
#include <windows.h>
#include <tchar.h>

int main()
{
setlocale(LC_ALL, "chs");
MEMORYSTATUS memStatus;

GlobalMemoryStatus(&memStatus);
_tprintf(TEXT("内存使用百分比:%d%%\r\n"), memStatus.dwMemoryLoad);
_tprintf(TEXT("内存总大小:%dMB\r\n"), memStatus.dwTotalPhys / 1024 / 1024);//以%d直接打印会超出范围,转换为MB就可以了
_tprintf(TEXT("可用内存大小:%dMB\r\n"), memStatus.dwAvailPhys / 1024 / 1024);

return 0;
}


    将会打印出内存的使用情况。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: