2010-03-10 31 views
4

是否有任何方法來限制用.NET編寫的Windows服務的cpu使用率,無論是在服務代碼內部還是外部。將當前線程設置爲最低優先級不是一種選擇,但一旦異常開始發生,cpu負載就會上升,是否可以限制這種情況?限制Windows .NET服務的CPU使用率

+2

無法在Windows中將限制設置爲硬值(例如25%)。設置線程優先級是您應該考慮的一個選項,但是您需要做的事情是確定CPU爲什麼會跳躍。 – 2010-03-10 17:10:54

回答

0

這些天的內存帶寬和處理器緩存的使用情況與CPU時間相匹配。

我不知道,一直保持了操作系統的...

你可以嘗試使用了Thread.Sleep睡壁50%的時候,混亂,但可能工作。

5

你需要仔細看看你的應用程序。爲什麼拋出異常,爲什麼這些異常使用這麼多的CPU?

0

如果您需要控制代碼之外的CPU使用情況,我建議使用ThreadMaster http://threadmaster.tripod.com/這有點過時了,但我過去曾經使用它,它能夠成功地解決我的問題。

這不是長期解決方案的理想選擇,但在某些特定情況下可能是一個很好的工具。