如何知道我的 Windows Server 2003 是否需要更多内存?

如何知道我的 Windows Server 2003 是否需要更多内存?

查明我的服务器是否需要更多内存的最佳方法是什么?

我想我应该使用 Perfmon,但是使用哪些计数器呢?

谢谢。

答案1

您确实需要查看是否存在大量硬页面错误(即必须转到磁盘的页面错误)。查看“页面输入/秒”以了解发生了多少硬页面错误。这是您 RAM 不足的第一个最佳迹象。

“页面错误/秒”包括硬错误和软错误(即所需页面仍在物理内存中的页面错误)。

“Process” 对象的“_Total”实例上的“Working Set”计数器将显示所有进程使用的内存总量。理想情况下,您希望此数字低于计算机中的物理 RAM 量。

编辑:

您的问题是关于内存的,但措辞提出了一个问题,即您是否知道您的具体瓶颈是什么。

您应该关注“四大”柜台,就像日常业务一样:

  • 处理器 - 处理器时间百分比
  • 内存 - 页面输入/秒
  • 物理磁盘 - 平均磁盘队列长度 - 针对计算机中的每个物理磁盘
  • 网络 - 每秒总计字节数 - 针对计算机上的每个网络接口

您不希望处理器时间一直很高。不同的人会给出不同的意见,说明您应该看到什么。我的看法是:这是最后要升级的事情(因为它通常意味着“更换计算机”),除非您看到处理器时间一直很高。即便如此,以这种方式分析应用程序并提高性能可能比更换计算机更便宜(当您考虑与更换计算机相关的所有成本时)。

我们已经讨论过内存计数器。

磁盘队列表示等待磁盘子系统可用的请求数。您应该将机器上的每个离散物理磁盘或 RAID 卷作为单独的计数器进行监控。“坏磁盘队列”数字的具体情况取决于应用程序。例如,Microsoft SQL Server 2005 及更高版本将比其他应用程序更重地加载磁盘队列,因为它试图最大化 IO 带宽。不过,一般来说,除非您知道您的应用程序故意加载队列,否则您希望看到这个数字小于 2。

网络计数器表示每个间隔发送和接收的字节数,应在每个离散网络接口上作为单独的计数器进行跟踪。理想情况下,您将缩放此计数器,使 100% 带宽接近图表顶部。您不应该在以太网上看到 100% 的带宽利用率,但您可能会看到接近它的峰值。如果您看到持续的高网络负载,这可能表明您可以使用更多/更快的网络连接来连接服务器计算机。

通过观察这“四大”计数器,您可以一目了然地了解瓶颈可能出在哪里。然后,您可以使用“进程”对象深入研究各个进程,以确定 IO 或网络活动发生的位置。

答案2

您需要多少内存取决于您的应用程序。如果性能缓慢,则可能是由于多种原因(不仅仅是内存)。

您应该使用 perfmon 设置多个性能监视器,并观察当用户抱怨系统“缓慢”时会发生什么情况。

是因为 CPU 的使用率达到 100% 吗?是因为内存需求激增吗?是因为硬盘不稳定吗?

我不会立即认定内存是瓶颈。

答案3

您需要查看可用内存(我认为计数器实例称为 _TOTAL)。如果可用内存太低,您可能需要查看更多内存。

相关内容