我在我的办公室服务器上遇到了麻烦.它是一个虚拟化的
Windows 2008 R2服务器,具有6GB RAM内存.它只有Microsoft sql Server(内存分配最大值= 3GB),只是一个不超过1GB RAM的软件.
但是,服务器的RAM内存几乎已满,在查看任务管理器中的进程时,他们似乎并未对此进行总结.我已经安装了RamMap,但不能很容易地解释它,是否有任何“高价值”你可以识别?
但是,服务器的RAM内存几乎已满,在查看任务管理器中的进程时,他们似乎并未对此进行总结.我已经安装了RamMap,但不能很容易地解释它,是否有任何“高价值”你可以识别?
好吧,我看到大约3.2千兆字节的驱动程序锁定内存,它立即显得可疑.
这种内存,驱动程序锁定内存,是由内核模式驱动程序锁定的内存.通常用于传输少量数据,通常是短时间.
因此,如果你有大量的驱动程序锁定内存,很长一段时间,这通常表明某些事情是不对的.
我将在这里猜测,并猜测,因为你提到它是一个虚拟化服务器,它是VMware气球驱动程序正在这样做.我没有足够的数据来告诉你它为什么会这样做,但是有很多案例和VMware支持KB,like this one,它们特别谈到气球驱动程序错误地保留大量内存时它不应该.
您还必须考虑气球驱动程序按设计运行的可能性,并且它试图使您的服务器页面输出内存,因为它迫切需要将内存提供给同一主机上的另一个VM.
还有另一种可能性,它根本不是管理程序动态内存驱动程序,而只是一些流氓设备驱动程序.
驱动程序通常使用3或4个字符的标记分配“标记”的内存,该标记提供了驱动程序负责进行分配的提示.
poolmon.exe是Windows SDK / DDK的一部分,可以帮助诊断.
就像我说的,疯狂的猜测,但这是我能用我拥有的数据做的最好的.