高CPU利用率 - VB.NET

时间:2010-12-01 07:18:57

标签: vb.net cpu-usage

我们正面临着VB.NET监听器的问题,它在运行它的服务器机器中使用高CPU(50%到70%)。监听器正在使用线程概念,我们还使用FileSystemWatcher类来监视指向一个公共位置的文件重命名。两者都是控制台应用程序和全天运行的预定作业。你能帮我解决一下这个FileSystemWatcher类控制CPU利用率的问题吗?

1 个答案:

答案 0 :(得分:1)

这完全取决于您正在运行的代码。

例如,如果你的计时器间隔为10毫秒,但每2分钟只能工作一次,那么你会做很多检查,这将需要大量的CPU来做任何事情。

如果您正在使用多个线程并且正在循环等待第二个释放锁(Monitor.TryEnter()),那么这可能会占用额外的CPU。您可以通过将等待线程放入Monitor.Wait()然后在忙线程完成时执行Monitor.Pulse()来避免这种情况。

除了上面的一般建议,如果您发布代码或个人资料结果的关键部分,那么我们可以提供更多帮助。

如果您正在寻找一个探查器我们使用RedGates ANTS Profiler(费用但免费试用)并且它给出了很好的结果,我没有使用任何其他比较(我与RedGate没有任何关联)所以其他人可能会更好。

希望其中一些有用。