首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Windows 2008 R2 64位内存泄漏

Windows 2008 R2 64位内存泄漏
EN

Server Fault用户
提问于 2016-11-28 17:06:23
回答 2查看 4.7K关注 0票数 12

我的一个办公室服务器出问题了。S是一个虚拟化的Windows2008RAM服务器,内存为6GB。它只有(内存分配最大值= 3GB),而只是一个不超过1GB内存的软件。然而,服务器S内存几乎是满的,看看任务管理器中的进程,他们似乎没有总结这一点。我已经安装了RamMap,但不能很容易地解释它,有什么“高价值”您可以识别吗?

EN

回答 2

Server Fault用户

回答已采纳

发布于 2016-11-28 20:16:37

嗯,我看到了~3.2千兆字节的驱动器锁定内存,这立即突出的可疑。

这种内存,驱动程序锁定内存,是被内核模式驱动程序锁定的内存.通常是为了传输少量的数据,通常是短期的。

因此,如果你有大量的驱动器锁定内存,很长一段时间,这通常是一个迹象,有些地方不对劲。

我将在这里进行一个疯狂的猜测,并猜测既然您提到它是一个虚拟化的服务器,那么是VMware气球驱动程序在做这件事。我没有足够的数据能够告诉你为什么要这么做,但是有很多情况和VMware支持的KBs,就像这个,特别提到气球驱动器错误地保留了大量的内存。

您还必须考虑气球驱动程序是否按照设计的方式运行,并且它正试图将服务器页释放出内存,因为它迫切需要将内存分配给同一主机上的另一个VM。

还有另一种可能性,那就是它根本不是虚拟机管理程序动态内存驱动程序,而是一些流氓设备驱动程序。

驱动程序通常会使用一个3或4个字符的标记来分配内存,从而提示是哪个驱动程序负责分配。

poolmon.exe是Windows /DDK的一部分,可以帮助诊断。

就像我说的,胡思乱想,但这是我所能做的最好的数据。

票数 18
EN

Server Fault用户

发布于 2016-11-28 20:16:45

从2005年到2016年,我有所有可以想象到的SQL Server版本,而且我也没有看到任何内存泄漏会达到100%实际使用mem的程度。查看是否启用了虚拟机的动态内存。

Driver Locked是你应该关注的一个数字。在您的具体情况下,Driver Locked可能是Hyper驱动程序之一,它锁定了所有未使用的内存(分配给VM,但由其ATM机未使用),因此它可以将其“分配”给配置有动态内存的其他VM,甚至可以给主机操作系统,无论目前需要什么。您可以通过在虚拟机中打开一些大型文件或内存密集型应用程序来测试它-- DriverLocked内存应该会随着其他指标的增加而下降。如果您没有在所有VM中过多地分配内存,则IMHO不应该引起关注。

票数 16
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/817528

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档