用GlobalMemoryStatus获取系统内存信息
用GlobalMemoryStatus获取系统内存信息
摘 要:用GlobalMemoryStatus函数获取系统内存的信息,用GlobalMemoryStatusEx获取内存的使用信息。两者的区别就是前者用4个字节来保存内存大小,后者用8个字节来保存内存大小。
关键字:GlobalMemoryStatusEx GlobalMemoryStatus MEMORYSTATUS MEMORYSTATUSEX
获取Windows内存信息需要使用GlobalMemoryStatus函数和MEMORYSTATUS结构体;如果是64位的系统,需要使用扩展函数GlobalMemoryStatusEx和MEMORYSTATUSEX。
GlobalMemoryStatus
VOID GlobalMemoryStatus(
LPMEMORYSTATUS lpBuffer // pointer to the memory status structure
);
功能:获取当前物理内存和虚拟内存的信息。
参数:
LPMEMORYSTATUS lpBuffer 出参,指向一个MEMORYSTATUS结构体,用于保存当前系统的物理内存和虚拟内存的信息。
MEMORYSTATUS
typedef struct _MEMORYSTATUS { // mst
DWORD dwLength; // sizeof(MEMORYSTATUS) 本结构体的大小
DWORD dwMemoryLoad; // percent of memory in use 返回一个0~100的值,系统内 存的使用率
DWORD dwTotalPhys; // bytes of physical memory 物理内存的大小
DWORD dwAvailPhys; // free physical memory bytes 可用物理内存的大小
DWORD dwTotalPageFile; // bytes of paging file 页面文件(交换文件)的总大小
DWORD dwAvailPageFile; // free bytes of paging file 可用的页面文件的大小
DWORD dwTotalVirtual; // user bytes of address space 用户可用的虚拟地址空间大小
DWORD dwAvailVirtual; // free user bytes 可用的虚拟地址空间大小
} MEMORYSTATUS, *LPMEMORYSTATUS;
保存内存大小的空间都是DWORD类型的变量,因此最多可以获得4个G的内存空间。如果要获得更大的空间,必须使用扩展函数GlobalMemoryStatusEx和MEMORYSTATUSEX。
注意在MEMORYSTATUSEX结构体中,保存内存大小的变量都是DWORDLONG类型的,8个字节大小。
typedef struct _MEMORYSTATUSEX {
DWORD dwLength; 本结构体的大小,使用这个结构体前必须初始化
DWORD dwMemoryLoad;
DWORDLONG ullTotalPhys;
DWORDLONG ullAvailPhys;
DWORDLONG ullTotalPageFile;
DWORDLONG ullAvailPageFile;
DWORDLONG ullTotalVirtual;
DWORDLONG ullAvailVirtual;
DWORDLONG ullAvailExtendedVirtual;
} MEMORYSTATUSEX, *LPMEMORYSTATUSEX;
BOOL GlobalMemoryStatusEx(
LPMEMORYSTATUSEX lpBuffer
);
用GlobalMemoryStatus获取系统内存信息相关推荐
- Android中获取系统内存信息以及进程信息-----ActivityManager的使用(一)
本节内容主要是讲解ActivityManager的使用,通过ActivityManager我们可以获得系统里正在运行的activities,包括 进程(Process)等.应用程序/包.服务(Serv ...
- 易语言调用GlobalMemoryStatusEx读取系统内存信息
GlobalMemoryStatusEx函数用于获取系统内存信息,是Kernel32.dll提供的接口,,这个函数在预计程序会装在有4GB内存的机器上运行. 获取系统内存信息有2个api,分别是Glo ...
- python获取系统内存占用信息的实例方法
psutil是一个跨平台库(http://code.google.com/p/psutil/),能够轻松实现获取系统运行的进程和系统利用率(包括CPU.内存.磁盘.网络等)信息.它主要应用于系统监控, ...
- 系统内存信息获取工具类
/** * 得到系统内存信息的工具类 * @author zwenkai */ public class SystemInfoUtils { /** * 得到运行的进程总个数 * * @param c ...
- python获取系统硬件信息
python获取系统硬件信息 github项目 https://github.com/giampaolo/psutil cpu,内存,etc.
- Qt开发中获取系统相关信息的方法,值得收藏参考
本文转自https://zhuanlan.zhihu.com/p/111005951,这篇写的很详细,但是macos相关的只有一部分太少了,基本都是Windows的,我个人后续也会把相关的系统调用方式 ...
- 【C函数】sysinfo获取系统相关信息
Linux中,sysinfo是用来获取系统相关信息的结构体,返回系统的统计信息. 头文件: #include <sys/sysinfo.h> 函数声明: int sysinfo (stru ...
- GetVersionEx 获取系统版本信息
转自:http://blog.csdn.net/yyingwei/article/details/8286658 最近在windows 8上获取系统版本信息需要调用系统API,于是用到了GetVers ...
- android获取app内存信息,Android 获取内存信息(RAM,ROM)
一.RAM,ROM简单介绍 RAM为运行内存,比如,360手机助手的悬浮窗,经常提示的运行内存超过80%之类的,指的都是运行内存.一般大小为几个G. ROM为存储数据的内存,比如,爱奇艺APP在视频页 ...
- ansible playbook脚本获取系统版本信息
ansible playbook脚本获取系统版本信息 执行环境说明 脚本执行过程中实测系统为 redhat6.redhat7 suse11 suse12: [root@ansible_host ~]# ...
最新文章
- 【力扣网练习题】两数之和
- 他22岁在家自造芯片,性能接近英特尔初代,连光刻机都有解决方案
- 请投上您的一票,助力 2019 开源基础设施峰会
- 基于SignalR的消息推送与二维码描登录实现
- PHP扩展开发教程,通过实例来展示PHP的扩展开发和底层应用原理(C语言非zephir)...
- 【TensorFlow】PyCharm中无法识别tensorflow、numpy等Python库问题的解决办法
- python 识别数字字母 训练集_Python 实现训练集、测试集随机划分
- 网络研讨室_网络研讨会:Java 9的第一印象–构建可伸缩企业应用程序的新方法...
- 管理任务执行-如何制定有效的机制
- C#常用单元测试框架比较:XUnit、NUnit和Visual Studio(MSTest)
- 终于!商汤科技开源DAVIS2017视频目标分割冠军代码
- 电商千万级交易的金手指:分布式事务管理
- 与数据绑定相关的接口(转)
- java函数式编程的好处
- 【蓝桥杯Java组】数论基础—素数筛、最大公约数、最小公倍数
- js获取浏览器高度 宽度
- 14 、软件测试-MySQL的基本使用方法-增删改查
- 霍尼韦尔和上工申贝达成战略合作,打造智能化物流仓储管理
- 解决 Ubuntu 22.04 Fractional Scaling 画面伸缩后应用程序模糊
- 月报总结|Moonbeam 7月份大事一览