微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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%和满载.它将使用额外的线程扩展多个内核,以实现更均匀的负载.

原文地址:https://www.jb51.cc/csharp/91814.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐