我在一些博客上看到了Committed Bytes和Pool Nonpaged Bytes的区别。 我认为这两个都是NT系统的保留内存,不能写入pagefile.sys 。 那么分歧是什么?
从这里: http : //support.microsoft.com/kb/2267427
内存,承诺字节:这是对虚拟内存需求的衡量。 它显示进程已经分配了多less字节,并且操作系统已经在页面文件(或两者)中提交了RAM页面帧或页面插槽。 由于提交的字节数增长到可用RAM的上方,分页增加,并且正在使用的页面文件的数量也增加。 在某个时候,分页活动开始显着影响感知的性能。
从这里: http : //blogs.technet.com/b/markrussinovich/archive/2009/03/26/3211216.aspx
非分页池内核和设备驱动程序使用非分页池来存储系统无法处理页面错误时可能访问的数据。 当内核执行中断服务例程(ISR)和延迟过程调用(DPC)(这是与硬件中断相关的function)时,内核进入这种状态。 当内核或设备驱动程序获取自旋锁时,页面错误也是非法的,因为它们是ISR和DPC中唯一可以使用的锁的types,所以必须用来保护从ISR内部访问的数据结构或DPC和其他ISR或DPC或在内核线程上执行的代码。 驱动程序违反这些规则会导致最常见的崩溃代码IRQL_NOT_LESS_OR_EQUAL。
因此,非页面缓冲池总是保持在物理内存中,非页面缓冲池虚拟内存被分配物理内存。 存储在非分页池中的通用系统数据结构包括表示进程和线程的内核和对象,互斥对象,信号灯和事件等同步对象,表示为文件对象的文件引用以及I / O请求包(IRP)代表I / O操作。