首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >非分页内存的使用会被偶数进程(事件记录器/查看器)提升到耗尽为止。

非分页内存的使用会被偶数进程(事件记录器/查看器)提升到耗尽为止。
EN

Server Fault用户
提问于 2013-10-16 09:47:28
回答 2查看 935关注 0票数 1

我有一个没有分页内存问题的服务器。由于IIS无法获得足够的非分页内存,因此使用率会缓慢上升,直到耗尽为止,服务器将停止提供网页服务。

这是一个32位的windows 2003服务器。

任务管理器没有显示可疑的活动,所有正在运行的进程都消耗了“正常”数量的NP内存,并且随着时间的推移,它们都保持稳定。

显示所有用法的标记是“偶数”,这是根据标记列表为事件查看器的标记。事件日志中没有出现其他警告或错误,除非NP内存耗尽,IIS开始抱怨。

服务器运行MSSQL、IIS和hMailserver,没有其他任何内容。

有人有什么想法或者以前见过吗..?如果它是一个与驱动程序相关的标记,比如网卡之类的,但是事件查看器,那么我应该去哪里呢?

偶数的Poolmon输出

代码语言:javascript
复制
Tag    Type   Allocs            Frees             Diff     Bytes       Per    Alloc
Even   NonP   65563201 ( 948)   64585254 ( 861)   980124   47049280 ( -2384)   48

谢谢

EN

回答 2

Server Fault用户

发布于 2013-10-16 13:55:14

我首先要检查的是确保在Server中设置了max server memory (MB)。这是一个服务器选项,它告诉server“这是您可以拥有的所有内存”。默认情况下,Server将使用所有可用内存进行数据缓存等操作,这在共享环境中可能是坏消息,就像您所拥有的一样。

在SQL实例中,打开一个新的查询窗口并键入:

代码语言:javascript
复制
sp_configure 'show advanced options',1
GO
RECONFIGURE
GO
sp_configure 'max server memory (MB)'

如果config_value的值为0,则意味着Server可以获取它所需的所有内存。在这种情况下,您应该将其设置为更合理的环境。

您没有提到您的服务器有多少内存,但是由于您所处的环境是32位的(而且您也没有指定哪个版本的Windows),我将继续使用4GB。您可能希望将SQL限制在1GB以内,以便允许其他应用程序服务。你可以这样做:

代码语言:javascript
复制
sp_configure 'max server memory (MB)',1000
GO
RECONFIGURE
GO

如果您使用的是Windows2003Enterprise,并且内存大于4GB,那么当然可以将最大内存设置为更多。

您可能还想研究使用地址窗口扩展(AWE),这可以给您更多的喘息空间。你可以在TechNet 这里上读到。

票数 0
EN

Server Fault用户

发布于 2013-10-16 14:57:14

当问题发生时,打开任务管理器并添加Handles列。对该列进行排序,并查找任何似乎过度的值。它可能有助于获得服务器的基线在启动和随着时间的推移。启动后多长时间才能看到问题?有一个很好的机会,处理的最高/不寻常的数量将是你的罪魁祸首,虽然确切地确定为什么可能是另一个野兽。

在我的例子中,我看到它是由CommVault (备份)代理卸载失败引起的,它留下了一个非功能服务,每隔几秒钟就会为HKCU (注册表)创建两个句柄。每个打开的句柄都会消耗一些内存,并最终使整个组织的Exchange环境陷入瘫痪。

Sysinternals handle.exe也可以用于查看哪些进程使用了多个句柄,哪些对象被附加到哪个对象。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/546358

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档