1)
页/Page:Windows可寻址的内存的最小单元。在32-bit和 64-bit版本的Windows中page的大小是4KB。
2)
物理内存/RAM:一种计算机数据存储形式能够实施返回数据。
3)
页面文件/Pagefile:磁盘上用于模拟物理内存的文件,只包含磁盘上其他地方无法找到的内容,如运行应用程序的.dll和.exe。
4)
Paging:将内存中的内容转移到硬盘或转移出硬盘的过程,以便调整物理内存的可用量。
5)
Page fault:试图访问内存页时,该内存页没有出现在进程的工作集中。如果该页面存在于物理内存的其他位置,叫做soft page fault;如果该页面存在于硬盘上(不一定是page file中)就叫做hard page fault。
6)
共享内存:具有相同执行路径的进程会自动共享.dll和.exe文件。
7)
句柄:针对特定资源的对象标识,如文件、窗口或注册表键等(通常表现为小型的内存结构)。
8)
线程:在一个进程内部由 Windows 和Windows Server完成任务执行调度的实体(通常表现为小型的内存结构)
9)
资源泄漏:进程占用资源且一直不必要地继续占用的情况
1)
\Memory\Commit Limit:检测计算机可以管理的交付内存的最大量(交付极限),包括物理内存和pagefile。
2)
\Memory\Committed Bytes:检查的是实际交付量,指的是当前所有进程和内核正在使用的所有交付的内存量。
3)
\Memory\% Committed Bytes in
Use 接近100,则表示系统物理资源耗尽(RAM+page files)该值超过60%需关注,可通过\Process(*)\Private Bytes找到使用交付内存最多的进程,也可通过扩大物理内存、page file解决,必要时做内存泄漏分析。
4)
\Process(*)\Private Bytes 计数器检测进程当前使用所有的私用、交付的内存量(物理和pagefile),是识别进程内存泄漏最好的计数器。
5)
\Process(*)\Working Set 计数器显示了一个进程使用的物理内存量(工作集)。以可用物理内存以1GB为界,系统主动调整工作集内存量,可以有选择地慎重锁住物理内存中的页面以免被移出内存。
6)
\Memory\Available Mbytes 计数器:以MB为单位,当前可立即分配给进程或系统使用的物理内存的量,是零页面、释放页面、和守候(备用)页面清单的总和。该值低是物理内存不足的主要说明指标。小于10%就需要密切关注。
7)
\MemorylPages/sec 计数器显示了为解决hard page faults而执行的通过磁盘写入或读取页面的速率。该计数器注意以下方面:
a)
它不检测soft page faults,包含未缓存的映射内存文件(正常文件I/O)。
b)
其本身不能说明物理内存不足: 因为进程需要更多内存地址时均会发生Pagefile保留,在确认它们真的需要RAM之前会将这些地址先映射到Pagefile。
c)
物理内存不足表现:Available MBytes 低,Pages/sec高,再加上page file响应速度慢才说明物理内存不足。
d)
Pages/sec 高,但是Available Mbytes正常,可能意味着:新程序在启动、内存映射文件(被认作虚拟内存,但需要驻留在RAM中)、Page-file 读/写。
进程使用内存机制概览
一般内存使用,基于内存使用的比率,
备注:Private bytes 中包含交付内存,那是常发生泄漏的地方。页面转移时Private bytes 的大小不会变。
系统缓存/System cache
1)
包含了映射到缓存的虚拟地址空间视图中的物理内存量。
2)
尽管系统缓存(System Cache)包含磁盘缓存,但是也有部分内存以映射文件的方式处于“使用虫”的状态。
3)
在物理内存中为所有进程保留文件的最新内容(dity pages)。
4)
系统缓存的工作集受限于内核虚拟地址空间的大小,一般:未启用 /3GB开关的32-bit Windows 上为 900MB,64-bit Windows 天 Windows Server 为 1TB。