Windows Server 2008 R2 64位内存泄漏

我的办公室服务器有问题。 这是一个具有6GB RAM内存的虚拟化Windows 2008 R2服务器。 它只有微软的SQL Server(内存分配最大= 3GB),只是一个不超过1GB的RAM的软件。 但是,服务器的RAM内存几乎已经满了,看着任务pipe理器中的进程,他们似乎没有总结这一点。 我已经安装RamMap,但不能很容易地解释它,有没有什么“高价值”,你可以相同?

在这里输入图像描述

那么,我看到〜3.2千兆字节的驱动程序locking内存,立即突出可疑。

这种内存,驱动程序locking内存,是内核模式驱动程序locking的内存。 通常用于传输less量数据的目的,通常是短时间的。

所以如果你的驱动器有大量的locking内存,很长一段时间,这通常是一个不对的东西。

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

您还必须考虑气球驱动程序按照devise行事的可能性,并且试图使服务器页面出内存,因为它迫切需要将内存提供给同一主机上的另一个虚拟机。

还有另一种可能性,它不是一个虚拟机pipe理程序的dynamic内存驱动程序,而是一些非法的设备驱动程序。

驱动程序通常使用一个3或4个字符的标记分配“标记”的内存,这个标记给出了驱动程序负责分配的提示。
poolmon.exe是Windows SDK / DDK的一部分,可以帮助诊断。

就像我所说的那样,疯狂的猜测,但这是对我所拥有的数据所能做的最好的。

那么,从2005年到2016年,我在所有场合都有可以想象的SQL Server版本,而且我还没有看到任何内存泄露像实际使用的mem的100%一样巨大。 查看是否启用了虚拟机的dynamic内存

Driver Locked是一个你应该关注的数字。 在你的具体情况下, Driver Locked可能是Hyper-V驱动程序之一,它locking所有未使用的内存(分配给虚拟机,但未被atm使用),因此它可以“给它”给其他configuration了dynamic内存的虚拟机甚至托pipe操作系统,无论现在需要什么。 您可以通过在该虚拟机内部打开一些大型文件或内存密集型应用程序来testing它 – 随着其他度量标准的增加,DriverLocked内存应该降低。 恕我直言,这不应该成为一个值得关注的问题,如果你没有在所有虚拟机中过多地提供你的内存。