在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