Windows 虚拟内存

GetSystemInfo
Retrieves information about the current system.
To retrieve accurate information for an application running on WOW64, call the GetNativeSystemInfo function.

  • SYSTEM_INFO
typedef struct _SYSTEM_INFO {
    union {
        DWORD dwOemId;          // Obsolete field...do not use
        struct {
            WORD wProcessorArchitecture;    //The processor architecture of the installed operating system
            /*
            PROCESSOR_ARCHITECTURE_AMD64    9       x64 (AMD or Intel)
            PROCESSOR_ARCHITECTURE_ARM      5       ARM
            PROCESSOR_ARCHITECTURE_ARM64    12      ARM64
            PROCESSOR_ARCHITECTURE_IA64     6       Intel Itanium-based
            PROCESSOR_ARCHITECTURE_INTEL    0       x86
            PROCESSOR_ARCHITECTURE_UNKNOWN  0xffff  Unknown architecture.
            */
            WORD wReserved;
        } DUMMYSTRUCTNAME;
    } DUMMYUNIONNAME;
    DWORD dwPageSize;                       //CPU页面大小,x86和x64机器下为4096, IA-64下为8192
    LPVOID lpMinimumApplicationAddress;     //给出每个进程可用地址空间的最小内存地址,一般为65536
    LPVOID lpMaximumApplicationAddress;     //给出每个进程的私有地址空间中最大的可用内存地址
    DWORD_PTR dwActiveProcessorMask;        //表示当前处于活动状态的CPU,是一个位掩码
    DWORD dwNumberOfProcessors;             //CPU数量
    DWORD dwProcessorType;                  //作废字段
    DWORD dwAllocationGranularity;          //预定地址空间区域的分配粒度,一般为65536
    WORD wProcessorLevel;                   //进一步细分的处理器体系结构
    WORD wProcessorRevision;                //进一步对wProcessorLevel进行细分
} SYSTEM_INFO, *LPSYSTEM_INFO;


IsWow64Process
Determines whether the specified process is running under WOW64.(WOW64 is the x86 emulator(仿真器) that allows 32-bit Windows-based applications to run seamlessly(无空隙地) on 64-bit Windows.)

GlobalMemoryStatusEx
Retrieves information about the system's current usage(使用) of both physical and virtual memory.

GetProcessMemoryInfo

typedef struct _PROCESS_MEMORY_COUNTERS {
    DWORD cb;                           
    //The size of the structure, in bytes.

    DWORD PageFaultCount;               
    //The number of page faults.

    SIZE_T PeakWorkingSetSize;         
    //The peak(最高点) working set size, in bytes.      (对应任务管理器中的 峰值工作设置(内存))

    SIZE_T WorkingSetSize;              
    //The current working set size, in bytes.   (对应任务管理器中的 工作设置(内存))

    SIZE_T QuotaPeakPagedPoolUsage;     
    //The peak paged pool usage, in bytes.     

    SIZE_T QuotaPagedPoolUsage;        
    //The current paged pool usage, in bytes.   (对应任务管理器中的 分页池)

    SIZE_T QuotaPeakNonPagedPoolUsage;  
    //The peak nonpaged pool usage, in bytes.

    SIZE_T QuotaNonPagedPoolUsage;     
    //The current nonpaged pool usage, in bytes.(对应任务管理器中的 非页面缓存池)

    SIZE_T PagefileUsage;              
    /*The Commit Charge value in bytes for this process.    (对应任务管理器中的 提交大小)
    Commit Charge is the total amount of memory that the memory manager 
    has committed for a running process.*/

    SIZE_T PeakPagefileUsage;           
    //The peak value in bytes of the Commit Charge during the lifetime of this process.

} PROCESS_MEMORY_COUNTERS;
typedef PROCESS_MEMORY_COUNTERS *PPROCESS_MEMORY_COUNTERS;
  • 工作设置(内存) :专用(私有)工作集(当前进程独占)中的物理内存数量与进程正在使用且可以和其他进程共享的物理内存数量的总和。因此可以这么理解,该值就是该进程所占用的总的物理内存
  • 峰值工作设置(内存) : 进程的工作设置(内存)的最大值,可以这么理解,因为工作设置(内存)是波动的,这个项专门记录最大的那个值。
  • 内存(专用工作集) : 工作集的子集,它专门描述某个进程正在使用且无法与其他进程共享的物理内存值。这个值对于一个进程来说也是最重要的,它代表了一个进程到底独占了多少物理内存。
  • 内存(共享工作集) : 进程和可以和别的进程共享的物理内存值(注意:是可以共享的,不一定共享了)。比较常见的,譬如,加载系统的一些DLL所占用的物理内存,文件共享内存(文件映射),命名共享内存等等。
  • 提交大小 : 给当前进程使用而保留的私有虚拟内存的数量,如果要查内存泄漏,可以关注这个值。new malloc VirtualAlloc 分配的内存大小。
  • 分页池 : 由内核或驱动程序代表进程分配的可分页内核内存的数量。可分页内存是可以写入其他存储媒介(例如硬盘)的内存。此页面的增长通常是由于打开的句柄没有关闭造成的
  • 非分页缓冲池 : 由内核或驱动程序代表进程分配的不可分页的内核内存的数量。不可分页的内存是不能写入其他存储媒介的内存。

VirtualQuery
Retrieves information about a range of pages in the virtual address space of the calling process.
To retrieve information about a range of pages in the address space of another process, use the VirtualQueryEx function.

AWE

使用AWE(地址窗口扩展),可以让应用程序分配一块或多块内存,当一开始分配时,在进程的地址空间中是看不见这些内存的,然后在需要的时候将一块内存指定到利用VirtualAlloc预定的地址上并对内存进行访问。利用AWE可以让32位程序使用大于2GB的内存。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,651评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,468评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,931评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,218评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,234评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,198评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,084评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,926评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,341评论 1 311
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,563评论 2 333
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,731评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,430评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,036评论 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,676评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,829评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,743评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,629评论 2 354

推荐阅读更多精彩内容

  • word直接复制来了,格式就不改了。至于这门课怎么复习,只要平时实验都认真完成、报告认真写,平时分都很高;考试的话...
    Jozhn阅读 4,549评论 0 8
  • 操作系统概论 操作系统的概念 操作系统是指控制和管理计算机的软硬件资源,并合理的组织调度计算机的工作和资源的分配,...
    野狗子嗷嗷嗷阅读 11,928评论 3 34
  • 操作系统对内存的管理 没有内存抽象的年代 在早些的操作系统中,并没有引入内存抽象的概念。程序直接访问和操作的都是物...
    Mr槑阅读 16,695评论 3 24
  • 天数,命数,运数。 天数:掌握趋势,规律。 命数:家族。 运数:资源整合者。 捭阖:开关。捭,开也,阳也。阖,关也...
    米兰默阅读 460评论 0 0
  • “我们都是一群很平凡的人,因此要学会自己给自己制造快乐,自己欣赏自己的美丽。”玲子说。玲子还是和以往一样慵懒的躺在...
    南遥思故阅读 716评论 3 27