OS实验六:系统内存使用统计

该实验旨在理解Windows内存管理机制,包括页式存储管理。通过使用GlobalMemoryStatus获取内存使用情况,利用VirtualAlloc和VirtualFree分配和释放虚拟内存。实验展示了如何查看内存使用变化,并讨论了虚拟内存误差的原因及深入研究虚拟内存的方法。
摘要由CSDN通过智能技术生成

实验六:系统内存使用统计
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()将内存的当前信息存储在该结构中。
返回值:
该参数没有返回值。
保留或提交某一点虚拟地址空间<

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值