实时检测你的内存
来源:互联网 发布:招网络主播 编辑:程序博客网 时间:2024/06/05 14:36
以前总以为windows内存很神秘,可是了解了一些API后,神马都是浮云。微软用页式虚拟存储技术对内存进行管理,利用页面文件(也叫交换文件)来实现物理内存的扩展。所谓页面文件,通俗地说,就是我们设置的虚拟内存--右键点击“我的电脑”,打开“属性”...
我们用VOID GlobalMemoryStatus ( LPMEMORYSTATUS lpBuffer )来实现内存的检测。当然也可以用别的API,正如有的房子有好几个门,哪个门都能进去...不过这个API比较直观,里面的Memory,你懂的...
上面这个API函数只有一个参数,参数是一个指向名为MEMORYSTATUS的结构的指针。结构定义: typedef struct _MEMORYSTATUS { DWORD dwLength; // 本结构的长度 DWORD dwMemoryLoad; // 已用内存的百分比 DWORD dwTotalPhys; // 物理内存总量 DWORD dwAvailPhys; // 可用物理内存 DWORD dwTotalPageFile; // 交换文件总的大小 DWORD dwAvailPageFile; // 交换文件中空闲部分大小 DWORD dwTotalVirtual; // 用户总的虚拟地址空间 DWORD dwAvailVirtual; // 当前空闲的虚拟地址空间 } MEMORYSTATUS, *LPMEMORYSTATUS; 有了这个API,先说明一个MEMORYSTATUS的结构,再使用这个API,就可以检测内存了。但每检测一次,都要运行一次这个检测文件,不方便。循环语句要派上用场了(下面的例程大约10秒检测一次)。 以下例程VC6.0下通过。 #include<windows.h>
#include<stdio.h>
#define DIV 1024
void main(int argc, char *argv[])
{ MEMORYSTATUS memory;
while(1){
memory.dwLength=sizeof(memory);
GlobalMemoryStatus(&memory);
printf ("总共有物理内存 %ldk/n",
memory.dwTotalPhys/DIV);
printf("物理内存使用百分之%ld/n",memory.dwMemoryLoad);
printf ("你设置的虚拟内存总共有 %ldk/n",
memory.dwTotalPageFile/DIV);
printf("虚拟内存剩下%ldk/n/n",memory.dwAvailPageFile/DIV);
Sleep(10000);
}
}
- 实时检测你的内存
- ubuntu实时检测你的网络流量使用
- 检查你的杀毒软件是不是在实时检测你的系统
- 通过jstat实时检测JVM内存变化
- 视频马赛克的实时检测
- LeakCanary:检测你APP所有的内存泄露
- 内存泄漏的检测
- 内存泄露的检测
- 内存的检测
- 关于内存的检测
- 内存泄露的检测
- 内存检测 用的。。
- 内存泄漏的检测
- 实时内存数据库的数据管理
- 基于轮廓线索的实时人体检测
- cocos2dx中精灵的实时碰撞检测
- PVANet--实时的物体发现(检测)
- 基于轮廓线索的实时人体检测
- 快速软件开发(三)- 典型错误
- 终于解决了TTS的speak朗读完成问题
- 对自己的人生粗略的规划
- [转]RPM 的介绍和应用
- windows内存结构
- 实时检测你的内存
- 看C#的笔记----一般网站还是C#简单
- 研究课题时间规划
- Android学习计划 & Android学习总结
- 7-Zip
- Java 网络编程之 (TCP服务器架构)
- 用PictureEx类实现内存图片数据直接显示于picture控件
- 测试
- 权限