C# TS部署时CPU使用率极高

C# TS部署时CPU使用率极高,c#,.net,cpu,memory-management,C#,.net,Cpu,Memory Management,我们的应用程序是用.NET(framework 3.5)编写的。在终端服务环境中部署应用程序时,我们遇到了性能问题。客户端正在使用TS场。他们有4GB内存和一个像样的xeon处理器 在此环境中打开应用程序时,即使在空闲时,它的CPU使用率仍为25%。当部署在正常的客户机-服务器环境中时,它的行为正常,必要时会增加CPU使用量,空闲时会降至0 有人知道这是什么原因吗?或者,我能做些什么来调查?我们没有使用性能分析工具可以发现的内存泄漏 这是一个WinForms应用程序 我们没有可测试的TS环境 该

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

在此环境中打开应用程序时,即使在空闲时,它的CPU使用率仍为25%。当部署在正常的客户机-服务器环境中时,它的行为正常,必要时会增加CPU使用量,空闲时会降至0

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

  • 这是一个WinForms应用程序
  • 我们没有可测试的TS环境
  • 该应用程序是一个业务应用程序

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

    好吧,在我们真正让您走得太远之前,还有一些问题

  • 这是一个控制台应用程序吗?WinForms应用程序?还是Windows服务
  • 您是否有可用的终端服务环境
  • 你的申请是做什么的
  • 根据应用程序的功能,您可能会检查他们的硬件上是否存在您未考虑的异常高活动。我在过去注意到的例子有一些,比如让一个FileSystemWatcher无意中监听一个“放置位置”,以便在客户端服务器上报告。这种性质的东西,那些“空闲”的东西不应该很忙,而应该很忙


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

    在应用程序中查找不断重新绘制窗口的部分。将这些因素考虑在内,这样当闲置时,它就不会不断地重新粉刷窗户

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