有没有办法限制用.NET编写的Windows服务的cpu使用率,无论是在服务代码内部还是外部。将当前线程设置为最低优先级不是一个选项,但是一旦异常开始发生,cpu负载就会上升,是否可以限制它?
答案 0 :(得分:5)
您需要仔细查看您的应用程序。为什么会抛出异常,为什么这些异常使用了这么多CPU?
答案 1 :(得分:0)
这些天的内存带宽和处理器缓存的使用与问题的匹配是CPU时间。
我不知道操作系统一直跟不上......
您可以尝试使用Thread.Sleep睡眠时间的50%,凌乱但可能有效。
答案 2 :(得分:0)
如果您需要从代码外部控制CPU使用率,我建议使用ThreadMaster http://threadmaster.tripod.com/它有点过时,但我过去曾使用它,它能够成功解决我的问题。
这对于长期解决方案来说并不理想,但在某些特定情况下可能是一个很好的工具。