限制Windows .NET服务的CPU使用率

时间:2010-03-10 17:03:12

标签: .net cpu-usage throttling

有没有办法限制用.NET编写的Windows服务的cpu使用率,无论是在服务代码内部还是外部。将当前线程设置为最低优先级不是一个选项,但是一旦异常开始发生,cpu负载就会上升,是否可以限制它?

3 个答案:

答案 0 :(得分:5)

您需要仔细查看您的应用程序。为什么会抛出异常,为什么这些异常使用了这么多CPU?

答案 1 :(得分:0)

这些天的内存带宽和处理器缓存的使用与问题的匹配是CPU时间。

我不知道操作系统一直跟不上......

您可以尝试使用Thread.Sleep睡眠时间的50%,凌乱但可能有效。

答案 2 :(得分:0)

如果您需要从代码外部控制CPU使用率,我建议使用ThreadMaster http://threadmaster.tripod.com/它有点过时,但我过去曾使用它,它能够成功解决我的问题。

这对于长期解决方案来说并不理想,但在某些特定情况下可能是一个很好的工具。