【Windows核心編程筆記】第十四章 探索虛擬內存

系統消息

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      一個進程查詢另一個進程的內存信息

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章