经过大量的谷歌搜索后,我怀疑它的页表条目(PTE)已经用完了.
从我可以收集的内容来看,这在Windows 32位服务器上使用/ 3gb开关时会出现问题,而使用TS’则可以轻松达到极限.
你如何验证这是发生了什么?我没有使用perfmon的经验和有限的Process Explorer经验,我真的不知道我在找什么.
更多信息:
总是,当发生这种情况时,任务管理器进程列表为空,并且内存计数器也会被清空.
发生这种情况时,服务器通常只有大约65个用户,但它们运行MSO和不同的会计软件.其中一些写得非常糟糕和臃肿.每个用户的常见内存使用量为200-600 MB,但我们的服务器永远不会耗尽可用内存.
服务器上安装了一些打印机,有时最多20台.
几年前,服务器一直运行顺畅,有70-80名用户,但由于它似乎稳定了它们,因此已经缩小了规模.
要查看正在运行的系统上的实际使用中的值,您可以在View>下使用SysInternal的Process Explorer.系统信息.如果系统配置为使用最大数量的分页池和非分页池,则分页限制将为512 MB,非分页限制将为256 MB.
要显示此详细程度,必须在选项>下加载正确的符号.配置符号:
如果分页物理或非分页接近极限,则会出现系统不稳定.配置这些最大限制的注册表值位于:
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management] "PagedPoolSize"=dword:FFFFFFFF "SystemPages"=dword:FFFFFFFF
值得注意的是,拥有大量物理内存可能没有用,因为x86窗口只能使用相当少的内存空间,并且它不能超出限制中显示的范围. (x64内核内存限制远不如约束).根据可用内存和注册表设置,在系统启动时动态计算限制.
您可以使用以下Windows调试器命令获取有关使用内核内存的更多详细信息:
!vm – 显示类似于进程资源管理器内核内存限制的信息.
! poolused n – 显示有关分页/非分页池使用情况的信息.如果驱动程序的内存泄漏消耗了过多的内核内存,这有时会很有用.
!poolused命令
http://msdn.microsoft.com/en-us/library/windows/hardware/ff564700%28v=vs.85%29.aspx
!vm命令
http://msdn.microsoft.com/en-us/library/windows/hardware/ff565602%28v=vs.85%29.aspx