当我登录到机器时,我可以看到任务管理器性能选项卡显示已经分配了3.86GB中的4个,但是当我进入进程选项卡并总结所有正在运行的进程时,我最终会介于700到900MB之间,具体取决于机器运行了多长时间.
我在类似的标题列表中找到了这个问题,希望它对我有所帮助:
Weird memory usage in Windows Server 2008 R2
我在列表中运行SQL查询,给我以下项目:
object_name Counter_name cntr_value cntr_value_MB ------------------------- --------------------------- ------------------------ sqlServer:Buffer Manager Database pages 988 8.000000000 sqlServer:Buffer Manager Free pages 140 1.000000000 sqlServer:Buffer Manager Total pages 2923 23.000000000 sqlServer:Memory Manager Target Server Memory (KB) 23384 22.000000000 sqlServer:Memory Manager Total Server Memory (KB) 23384 22.000000000
我不明白这是否解释了内存问题,但我认为如果问题与该问题相同,那么最后一列应该指出更高的值.我甚至将sql Server的内存使用量限制为3GB,当前进程选项卡显示sqlservr.exe使用92MB内存.
另请注意,4GB对于这台机器来说已经足够了,我们在正常运行时没有出现任何性能问题或问题,但最近的行为变化令人不安.
该计算机是在VMware ESX 4.1服务器上运行的虚拟机,可能就是这样吗?我已经读过VMware使用的“内存气球”,在一个紧张的系统中窃取内存,但物理服务器上可用的总内存为32GB,性能概述表明其中有17个可用.
我还应该关注什么,或者我应该如何看待上述数据呢?
重新启动让机器恢复到我称之为可解释的数字,但它会在一天内慢慢回升到4GB,然后开始超时.
另请注意,我不是百分之百肯定内存导致超时,但机器运行良好,直到内存接近4GB,所以至少它似乎是链接的,但它当然可以是两种不同的效果来自同一个原因.
此机器上至少有一个月没有任何Windows更新,无论好坏,所以没有任何维护与问题开始时相符.
你可能在某处有一个memory leak.如果任务管理器没有显示单个进程的过多内存使用量(BTW,您正在查看哪个值?任务管理器通常显示专用字节,但您应该查找当前物理内存使用的“工作集”),内核模块/驱动程序可能是另一个可能的候选者.看一下Process Explorer的内存统计数据,特别是内核内存使用情况 – 它们会更加详细,可能会让您更进一步解决问题.