GlobalMemoryStatus详解
2017-11-29 23:21
399 查看
VOID GlobalMemoryStatus(
LPMEMORYSTATUS lpBuffer // 内存状态的指针
);
用法我就不讲了,现在我们讲讲MEMORYSTATUS结构里每个成员分别代表什么
typedef struct _MEMORYSTATUS {
DWORD dwLength;
DWORD dwMemoryLoad;
SIZE_T dwTotalPhys;
SIZE_T dwAvailPhys;
SIZE_T dwTotalPageFile;
SIZE_T dwAvailPageFile;
SIZE_T dwTotalVirtual;
SIZE_T dwAvailVirtual;
} MEMORYSTATUS, *LPMEMORYSTATUS;
DWORD dwLength; 使用之前先令其等于结构的大小
dwMemoryLoad:内存负载率,其实也就是内存使用率
dwTotalPhys:总的物理内存,我在我的512MB虚拟机上测试为536330240bytes,比512MB少540672bytes,其实这部分被用作引导进程
dwAvailPhys:可用的物理内存=dwTotalPhys*(1-dwMemoryLoad)
dwTotalPageFile:总的页面文件的大小,其实就是物理内存加虚拟内存的总大小,但是这里有个问题,物理内存少了一部分
为什么这么说,当前分配的虚拟内存为672MB,但是可用内存总数为1154MB,1154-672=482MB,当然这个值可能因不同的计算机而有差异,但是在我的机器上有512MB-482MB=30MB被挪作他用,刚好核心内存为26MB,再加上显卡最大内存为8MB,我算一半,以上只是我的猜测,写在这里,只是作为我的一种猜想
dwAvailPageFile:很显然这个值等于现在正在使用的物理内存+已分配的虚拟内存
dwTotalVirtual:每个进程的的地址空间的总字节数,比2GB少128KB
dwAvailVirtual:每个进程的的地址空间的可用字节数,比如你在地址空间中申请了一个64KB(分配粒度)的内存,那么,地址空间的可用字节数就会再减去64KB
LPMEMORYSTATUS lpBuffer // 内存状态的指针
);
用法我就不讲了,现在我们讲讲MEMORYSTATUS结构里每个成员分别代表什么
typedef struct _MEMORYSTATUS {
DWORD dwLength;
DWORD dwMemoryLoad;
SIZE_T dwTotalPhys;
SIZE_T dwAvailPhys;
SIZE_T dwTotalPageFile;
SIZE_T dwAvailPageFile;
SIZE_T dwTotalVirtual;
SIZE_T dwAvailVirtual;
} MEMORYSTATUS, *LPMEMORYSTATUS;
DWORD dwLength; 使用之前先令其等于结构的大小
dwMemoryLoad:内存负载率,其实也就是内存使用率
dwTotalPhys:总的物理内存,我在我的512MB虚拟机上测试为536330240bytes,比512MB少540672bytes,其实这部分被用作引导进程
dwAvailPhys:可用的物理内存=dwTotalPhys*(1-dwMemoryLoad)
dwTotalPageFile:总的页面文件的大小,其实就是物理内存加虚拟内存的总大小,但是这里有个问题,物理内存少了一部分
为什么这么说,当前分配的虚拟内存为672MB,但是可用内存总数为1154MB,1154-672=482MB,当然这个值可能因不同的计算机而有差异,但是在我的机器上有512MB-482MB=30MB被挪作他用,刚好核心内存为26MB,再加上显卡最大内存为8MB,我算一半,以上只是我的猜测,写在这里,只是作为我的一种猜想
dwAvailPageFile:很显然这个值等于现在正在使用的物理内存+已分配的虚拟内存
dwTotalVirtual:每个进程的的地址空间的总字节数,比2GB少128KB
dwAvailVirtual:每个进程的的地址空间的可用字节数,比如你在地址空间中申请了一个64KB(分配粒度)的内存,那么,地址空间的可用字节数就会再减去64KB
相关文章推荐
- GlobalMemoryStatus详解
- GlobalMemoryStatusEx详解
- GlobalMemoryStatus 和 GlobalMemoryStatusEx
- GetSystemInfo 与 GlobalMemoryStatus
- mysql Show global status参数详解
- MYSQL命令 Show global status命令得到的参数详解(MYSQL错误)
- 获取内存使用信息(GlobalMemoryStatusEx)
- GlobalMemoryStatusEx()在VC6.0下的编译
- windows程序设计 win32 API 获取系统内存信息 GlobalMemoryStatus 和 GlobalMemoryStatusEx
- windows程序设计之调用动态链接库DLL DLL的调用约定 GlobalMemoryStatusEx
- 《Windows核心编程》---获得内存的当前状态のGlobalMemoryStatusEx
- 《Windows核心编程》---获得内存的当前状态のGlobalMemoryStatusEx
- windows程序设计 win32 API 获取系统内存信息 GlobalMemoryStatus 和 GlobalMemoryStatusEx
- windows程序设计 win32 API 获取系统内存信息 GlobalMemoryStatus 和 GlobalMemoryStatusEx
- 通过GlobalMemoryStatus函数获取当前虚拟内存和物理内存信息
- cuda coalesced access to global memory
- MySQL - Show Global Status 整理
- python - Theano: Initialisation of device gpu failed! Reason=CNMEM_STATUS_OUT_OF_MEMORY
- HTTP Response Status Code -- HTTP响应代码中文详解
- mysql之status和variables区别及用法详解