C# · 12月 23, 2021

C#:以自定义百分比创建CPU使用率

我希望在某些cpu使用条件下测试几台机器上的系统响应能力等.不幸的是,我只能创建~100%的使用率(无限循环)或没有足够的cpu使用率(我正在使用C#).

有没有办法,粗略的近似,因为其他任务也在系统上运行,以20,30,40%(等等)步骤人为地创建cpu使用?

据我所知,系统之间存在差异,因为cpu会有所不同.它更多地是关于可自定义cpu密集型计算的算法/想法,这些算法/想法在当前cpu上创建了足够的使用而没有最大化它我可以调整它们然后以某种方式调整它们以创建所需的百分比.

解决方法 你可以添加一个间隔唤醒的线程计时器,并做一些工作.然后调整间隔和工作量,直到您接近所需的负载. private void button1_Click(object sender,EventArgs e) { m_timer = new Timer(DoWork); m_timer.Change(TimeSpan.Zero,TimeSpan.FromMilliseconds(10)); } private static void DoWork(object state) { long j = 0; for (int i = 0; i < 2000000; i++) { j += 1; } Console.WriteLine(j); }

alt text http://i32.tinypic.com/15f4tp5.png

通过这个并调整循环的值,我能够为我的系统增加20%,60%和满载.它将使用额外的线程扩展多个内核,以实现更均匀的负载.