最近在windows server 2012机器上在做性能测试时,发现8G物理内存,内存使用率占到了90%多,在“进程”列表中所有进程内存相加才2个多G,同时任务管理器->“性能”标签一项中,非内存缓冲池很高占到了5个多G。
在网上找了一些资料,说是windows8系列有内存泄露的BUG,会引起“非内存缓冲池”一直占用很高。当前系统初步怀疑可能也是这个问题。
参考文档:
一次DB服务器性能低下引发的对Nonpaged Pool Leak问题的诊断
http://tieba.baidu.com/p/2728129582
先使用poolmon.exe来分析哪个组件占用内存高,再对这个组件做相应的处理。
对于分页缓冲池与非页面缓冲池
PagedPool 和 NoPagedPool的区别、Windows kernel pool
1、页面一直锁定在物理内存中,不会被换出到页面交换文件中