windows-server-2008 – Windows Server 2008上缺少内存

前端之家收集整理的这篇文章主要介绍了windows-server-2008 – Windows Server 2008上缺少内存前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个安装了8GB RAM的 Windows 2008 x64服​​务器.

任务管理器和资源监视器都坚持使用7.5GB的RAM.但是,进程(内存专用字节)下的内存列表不会相加.我确实已经检查了所有用户的Show Processes并手动添加了我想出的大约3.5GB内存的数字.

我还查看了SysInternals Process Explorer的最新副本.私有字节或工作集都没有使用超过大约3.5GB的RAM.

这是怎么回事?

=====

更新:
我反弹服务器,看看内存利用率会发生什么.在启动和常规操作开始后,它使用3GB的RAM. 18小时后,它恢复到6.8GB的使用率,没有迹象表明正在使用额外的3.5GB左右的RAM.

以下是资源监视器和任务管理器的屏幕截图的链接

Resource Monitor

Task Manager

更新2:
好吧,我相信我找到了问题所在.当我从我的sql server中分离出一个较大的数据库时,显示为“正在使用”的ram数量急剧下降.内存专用字节数几乎没有移动.所以我猜测sql服务器有一些分配内存的方法,它没有真正显示在任何监视器中.

我进一步创建了一个新的数据库文件,然后从我分离的数据中传输了所有数据.尽管它具有相同的数据,并且相同的事务通过它,但使用的内存仍然很低.也许DB中有一些腐败?我会把它留给DB众神去寻找另一个“问题”;)

我今天发现这篇文章详细讨论了锁定页面,AWE和64位系统.
http://blogs.msdn.com/psssql/archive/2009/09/11/fun-with-locked-pages-awe-task-manager-and-the-working-set.aspx

其中一个要点(#3)是标题“为什么任务管理器没有显示sql Server分配的所有内存”

这是一个非常好的解释.最后,没有显示的原因是sql server已经“锁定”了内存中的那些页面.锁定页面不是工作集的一部分,因此它们不会出现在任务管理器中,甚至不会显示为应用程序内存集的一部分.

如果从sys.dm_os_process_memory运行select *,则可以看到locked_pa​​ge_allocations_kb字段,该字段将告诉您sql server在这些页面中分配了多少RAM.

猜你在找的Windows相关文章