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

    xiaoxiao2024-12-26  70

    系统消息

    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      一个进程查询另一个进程的内存信息

    最新回复(0)