【Windows核心编程笔记】第十四章 探索虚拟内存

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhao3132453/article/details/90575409

系统消息

GetSystemInfo      获取主机相关的值,比如页面大小、分配粒度等

 

32位程序在64位系统上运行,涉及到模拟层(WOW64),32位程序通过WOW64运行和64位程序运行这两种情况,GetSystemInfo获取的信息可能会不同

IsWow64Process   进程是否在WOW64运行

只有返回值为TRUE的时候,第二个参数FALSE表示32在324,6在64,TRUE表示32位程序运行在64位系统(通过WOW64运行)

GetNativeSystemInfo    上述函数第二个参数为TRUE时,用此函数获取系统信息

 

另一种方法

IsOs        参数为OS_WOW6432  返回值TRUE表示32在64,FALSE则32在32

 

GetLogicalProcessorInformation        获取与CPU相关的详细信息

 

虚拟内存状态

GlobalMemoryStatus    获取当前内存状态的动态信息

GlobalMemoryStatusEx        获取当前内存状态的动态信息(内存4G或页交换文件大于4G),ullAvailPhys参数返回所有节点可用内存的总量

 

NUMA机器中的内存管理

NUMA:非统一内存访问

GetNumaAvailableMemoryNode       获取特定NUMA节点的内存数量

GetNumaProcessorNode     CPU在哪个NUMA节点

GetNumaHighestNodeNumber  获取系统中节点总数

GetNumaNodeProcessorMask    获取某个节点中的CPU列表

GetProcessMemoryInfo       获取进程当前工作集大小和最大工作集大小

 

确定地址空间的状态

VirtualQuery 查询与地址空间中的内存地址有关的特定信息(大小、存储器类型、保护属性)

VirtualQueryEx      一个进程查询另一个进程的内存信息

猜你喜欢

转载自blog.csdn.net/zhao3132453/article/details/90575409