实验六:系统内存使用统计
3.2.1实验目的
(1)了解Windows内存管理机制,理解页式存储管理技术。
(2)熟悉Windows内存管理基本数据结构。
(3)掌握Windows内存管理基本API的使用。
3.2.2实验准备知识:相关数据结构及API函数介绍
1.相关系统数据结构说明
系统结构MEMORYSTATUS中包含当前物理内存和虚拟内存和虚拟内存信息,使用函数GlobaiMemoryStatus()可以将这些信息存储在结构MEMORYSTATUS中。
结构原型:
Typedef struct_MRMORYSTATUS{
DWORD dwLength; //MOMORYSTATUS结构大小
DWORD dwMemoryLoad; //内存利用率
DWORD dwTotalPhys; //物理内存大小
DWORD dwAvailPhys; //空闲物理内存大小
DWORD dwTotalPageFile; //页文件大小
DWORD dwAvailPageFile; //空闲页文件大小
DWORD dwTotalVirtual; //虚拟地址空间大小
DWORD dwAvailVirtual; //空闲虚拟地址空间大小
} MEMORYSTATUS, *LPMEMORYSTAYUS;
成员说明:
dwLength;MEMORYSTATUS数据结构的大小,单位为字节。
dwMemoryLoad:当前内存利用率,取值范围为0~100%,0表示内存没有被使用,100%表示内存全部被使用。
dwTotalPhys:物理内存的总字节数。
dwAvailPhys:可用物理内存的字节数。
dwTotalPageFile:页文件的总字节数。页文件是虚拟内存系统占用的磁盘空间。
dwAvailPageFile:页文件中的可用字节数。
dwTotalVirtual:用户模式下调用进程可以访问的虚拟地址空间总字节数。
dwAvailVirtual:用户模式下调用进程虚拟地址空间中未提交和未保留的内存总字节数,即可用虚拟地址空间大小。
相关API函数介绍
获取系统物理内存和虚拟内存使用信息
原型:
VID GlobalMemoryStatus(
LPMEMORYSTATUS lpBuffer //指向MEMORYSTATUS数据结构
);
参数说明:
lpBuffer: 指向MEMORYSTATUS数据结构的指针,函数GlobaiMemoryStatus()将内存的当前信息存储在该结构中。
返回值:
该参数没有返回值。
保留或提交某一点虚拟地址空间<
OS实验六:系统内存使用统计
最新推荐文章于 2022-06-27 14:45:58 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)