首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >监视使用MSMQ的机器上的内存使用情况

监视使用MSMQ的机器上的内存使用情况
EN

Server Fault用户
提问于 2014-09-03 21:11:38
回答 2查看 1.3K关注 0票数 0

基于线程,看来MSMQ进程在内存压力下占用大量可用内存是“正常的”。

似乎大多数监控工具的内存使用都是基于工作集内存。这包括我们当前使用的一个(New ),它使用了这个powershell查询:

代码语言:javascript
运行
复制
Get-WmiObject -Query "SELECT CommitLimit,CommittedBytes,AvailableBytes FROM 
Win32_PerfRawData_PerfOS_Memory"

任务管理器似乎也使用工作集内存作为其默认内存图。

我们通常看到内存使用(基于工作集)尖峰到90%以上,根据上面的线程链接,这是不正常的。

在使用MSMQ的机器上看到高内存使用率是相当标准的吗?是否标准做法是不监视这些机器的内存使用情况?

EN

回答 2

Server Fault用户

回答已采纳

发布于 2014-09-03 21:31:56

所有Windows Vista+版本中的内存使用都是为了尽可能多地保存内存。这是最有效的方法,因为它可以防止从磁盘读取,并且从RAM中刷新不需要的页面比从磁盘填充这些页面花费的时间要少得多。您所看到的同样的问题也适用于MSSQL服务器、Exchange,以及任何使用大量RAM的东西,因为它们在任何时候都会尽可能多地加载到RAM中。

如果您没有看到分页操作(磁盘敲击)、其他应用程序中的内存错误或其他应用程序的性能问题的实际问题,您可以安全地忽略高内存使用。空RAM是不需要的RAM。相反,如果您期望在机器上使用较高的内存,而您看到的内存使用量为零,则可能会出现问题。

至于对内存使用情况的监视,如果您只监视所使用的总RAM,我将停止在高级别上得到警告。保持对低RAM利用率的警告,就像在服务器上保持CPU利用率低一样,服务器上的应用程序在空闲时CPU保持在20% (或任何其他)。如果您正在监视什么应用程序正在使用多少内存,并且服务器承载了多个应用程序,那么您可能希望在不运行MSMQ的情况下测试您的其他应用程序,这样您就可以准确地表示如果有机会,它们将使用多少RAM,并调整分配和监视以满足这些需求。

在我们的组织中,我们已经停止监视所有服务器上的高RAM消耗,我们期望这些服务器具有较高的RAM利用率;它只会触发需要被静音的警报,并混淆合法的警报。

文章提供了一些关于在Vista中内存管理是如何改变的高级信息,从那时起,内存管理器AFAIK就没有发生过重大的变化。

票数 1
EN

Server Fault用户

发布于 2014-09-04 12:51:00

MSMQ内存的使用与消息卷直接相关。如果内存使用率很高,那么MSMQ当时正在管理许多消息。你最好决定什么是日复一日使用的预期信息量,并在数字超过这个水平时发出警告。

此外,如果大量的消息被认为是正常的,那么博客上的第4项也是很重要的。

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

https://serverfault.com/questions/626081

复制
相关文章

相似问题

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