【问题标题】:CPU usage extremely high on TS deploymentTS 部署时 CPU 使用率极高
【发布时间】:2010-05-20 13:10:53
【问题描述】:

我们的应用程序是用 .NET(框架 3.5)编写的。在终端服务环境中部署时,我们遇到了应用程序性能问题。客户端正在使用 TS 场。他们有 4GB 内存和不错的至强处理器。

在此环境中打开应用程序时,即使处于空闲状态,它的 CPU 使用率也会达到 25%。当部署在正常的客户端 - 服务器环境中时,它的行为正常,在必要时会增加 CPU 使用率,并在空闲时降至 0。

有没有人知道是什么原因造成的?或者,我能做些什么来调查?我们没有使用性能分析工具可以找到的内存泄漏。

  1. 这是一个 WinForms 应用程序
  2. 我们没有可供测试的 TS 环境
  3. 该应用程序是一个业务应用程序。

基本上,捕获和更新数据。它是一个庞大的业务应用程序,但几乎没有多线程、侦听器等。我们确实有 ANTS 分析器(内存/性能),但正如在我们的环境中提到的,我们没有问题 - 它只发生在 TS 环境中

【问题讨论】:

    标签: c# .net cpu memory-management


    【解决方案1】:

    好吧,在我们真正让你走得太远之前,有几个问题。

    1. 这是一个控制台应用程序吗? WinForms 应用程序?还是 Windows 服务?
    2. 您有可用的终端服务环境吗?
    3. 您的应用程序是做什么的?

    根据应用程序的功能,您可能会检查其硬件上是否存在您未考虑的异常高活动。我过去注意到的示例是诸如让 FileSystemWatcher 意外侦听“放置位置”以在客户端服务器上进行报告之类的项目。这种性质的事情,虽然“空闲”的项目不应该是忙碌的,而是忙碌的。

    否则,如果您有能力这样做,您还可以使用 RedGate 的 ANTS Profiler 等工具来查看环境中 CPU 时间的使用情况。

    【讨论】:

    • 1.这是一个 WinForms 应用程序 2。我们没有可用于测试的 TS 环境 3。该应用程序是一个业务应用程序。基本上,捕获和更新数据。它是一个庞大的业务应用程序,但几乎没有多线程、侦听器等。我们确实有 ANTS 分析器(内存/性能),但正如我们的环境中提到的那样,我们没有问题 - 它只发生在 TS 环境中
    【解决方案2】:

    在您的应用程序中寻找不断重绘窗口的部分。将这些因素排除在外,以便在闲置时不会不断地重新粉刷窗户。

    【讨论】:

      猜你喜欢
      • 2023-01-19
      • 2013-04-12
      • 2015-09-22
      • 1970-01-01
      • 2014-08-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多