windows-server-2008 – Windows Server任务管理器显示的内存使用量远高于所有进程的工作集大小

我有一台16 GB的 Windows Server 2008 x64机器,主要运行sql Server 2008.在任务管理器中看到的可用内存非常低(目前为128 MB),即使用大约15.7 GB.到现在为止还挺好.

现在,当我尝试使用大多数内存缩小进程时,我感到困惑:任务管理器的“进程”选项卡中显示的进程都没有超过200MB的工作集大小.那么,也许工作集大小不是相关的计数器?

为了解决这个问题,我使用了一个PowerShell命令[1]来总结过程对象的每个单独的属性,而不是蛮力方法 – 当然其中一个必须加起来为15.7 GB,对吧?原来没有一个,最接近的是VirtualMemorySize(大约12.7 GB)和PeakVirtualMemorySize(大约14.7 GB). WTF?

换句话说:大量与内存相关的过程信息中的哪一个是“正确”过程信息,即计入任务管理器“性能”选项卡中显示的服务器物理内存?

谢谢你们!

[1] $erroractionpreference =“silentntlycontinue”; get-process | gm | where-object {$.membertype -eq“Property”} | foreach-object {$.name; (get-process | measure-object -sum $_.name).sum / 1MB}

添加所有进程的内存使用量通常不会产生有意义的结果.这将留下两个主要的内存用户,即系统缓存和备用列表.您只需添加一个数字列表就无法考虑内存使用情况.内存管理系统太复杂了.

相关文章

Windows注册表操作基础代码 Windows下对注册表进行操作使用的...
黑客常用WinAPI函数整理之前的博客写了很多关于Windows编程的...
一个简单的Windows Socket可复用框架说起网络编程,无非是建...
Windows文件操作基础代码 Windows下对文件进行操作使用的一段...
Winpcap基础代码 使用Winpcap进行网络数据的截获和发送都需要...
使用vbs脚本进行批量编码转换 最近需要使用SourceInsight查看...