在C#中,有沒有一種方法可以讓程序簡單地「吃」大約20%的處理能力?換句話說,我希望我的CPU以80%的功耗運行。飲食處理能力
Q
飲食處理能力
1
A
回答
3
快速背景微秒,毫秒或依賴秒:在現實中CPU是忙或沒有,100%或0%。操作系統只是在短時間內進行平均運行,讓您知道CPU的運行頻率。
,如果你想爲一個特定的核心做到這一點你沒有指定,或者在所有CPU核心的平均...我將描述後者 - 你需要在1個線程中運行該代碼每一個核心。
查看System.Diagnostics命名空間並查找性能計數器。
protected PerformanceCounter cpuCounter;
cpuCounter = new PerformanceCounter();
cpuCounter.CategoryName = "Processor";
cpuCounter.CounterName = "% Processor Time";
cpuCounter.InstanceName = "_Total";
我可能會附加到「處理器」性能計數器(總計,不是每個核心)。您可能還想在代碼中保持較短的運行平均值。
在for循環中,檢查處理器使用情況的值,並取決於它是否接近您的閾值,睡眠的時間間隔更長或更短......(您可能會增加或減少睡眠延遲,具體取決於如何遠離你是從理想的負載)
如果你正在運行的平均值,您的睡眠遞增/遞減值正確,程序應該對自身進行調整,以獲得正確的負荷。
2
我認爲這是用於某種形式的模擬負載測試? Here's one example
1
好了,你可以與切換爲後2毫秒8毫秒的休眠功能的定時器無限循環。這不是「真正的20%」,但沒有「真正的20%」這樣的東西。你會在20%的時間內忙碌。
請注意,如果您擁有多核心CPU,您將需要一個線程每個核心可能使它忙的所有核心,以20%的CPU;也許加倍針對超線程......(你需要檢查)
3
不完全使用C#,但如果你想設置你的CPU只使用80%可在windows電源選項進行設置。
alt text http://img43.imageshack.us/img43/7487/poweroptions.jpg
2
步驟1:只要步驟1了睡眠4次:運行一個CPU密集環路定時需要多長時間運行
步驟2。
重複
您可以調整第一步採取什麼類型的測量你正在做
相關問題
- 1. 處理食譜
- 2. 日食力異常功能
- 3. 飲食數據庫模型
- 4. SqlCommand的參數飲食+
- 5. 用TaskQueues突發處理能力?
- 6. TideSDK是否有圖像處理能力?
- 7. kafkastreams - 加入更多的處理能力
- 8. redis在處理'N'no連接的能力?
- 9. PHP處理遞歸的能力
- 10. 在飲食上放置py2exe和matplotlib
- 11. HKHealthStore沒有添加正確的飲食能量值通過
- 12. CUDA /推力圖像處理
- 13. 黑莓預處理器在日食
- 14. Java - 使用更多的處理能力處理非常高的計算任務
- 15. 失去了在日食中摺疊代碼的能力!
- 16. EXTENDS挑戰:預處理功能宏和類像接力
- 17. foreach()錯誤處理 - 如何使它無能爲力?
- 18. 是否socket.io發出大量的處理能力?
- 19. JavaScript InfoVis Toolkit處理大量數據的能力
- 20. Syncano是否有能力處理導入.xls?
- 21. 類似UITextView,但有能力處理URL點擊
- 22. 添加C/C++等前處理能力到程序
- 23. fread是否需要處理能力/適用於DMA?
- 24. Android Looper線程是否使用處理能力?
- 25. 測試應用程序的事務處理能力
- 26. Apigee Edge Node容器是否支持多核處理能力
- 27. 如何「康康」寶石處理深度嵌套資源能力?
- 28. 將取消能力和異常處理異步代碼
- 29. jQuery處理循環或遞歸的能力
- 30. 處理能力 - 移動設備與桌面 - 100倍的差異?
這將讓你的CPU下降到80%的好辦法,但我認爲它可能有比較略有不同的效果,更直接的方式。如從未造成理論程序入睡。 – Guvante
我不認爲這是適用於所有電腦.. – Earlz
@earlz它應該在Vista和Win7。不知道XP。 – statenjason