加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

打爆你的 CPU

发布时间:2020-12-16 09:03:48 所属栏目:asp.Net 来源:网络整理
导读:打爆你的 CPU Intro 这是这个煞笔代码系列的最后一篇—— Full CPU ,相对来说也比前面三个简单一些,没有那么多的知识点。 今天来尝试写一段代码,把 CPU 打满,让所有处理器的 CPU 使用率达到 100%,Let's do it. 如何提高 CPU 使用率 想要提高 CPU 的使用

打爆你的 CPU

Intro

这是这个煞笔代码系列的最后一篇——Full CPU,相对来说也比前面三个简单一些,没有那么多的知识点。

今天来尝试写一段代码,把 CPU 打满,让所有处理器的 CPU 使用率达到 100%,Let's do it.

如何提高 CPU 使用率

想要提高 CPU 的使用率就是要让 CPU 一直在工作,单位时间内,CPU 做的工作越多 CPU 使用率越高,所以我们要让 CPU 处于高度饱和的工作状态,让 CPU 一直在工作,这样就会比较容易达到比较高的 CPU 使用率

Show me the code

废话不说,直接上代码:

public static void Test()
{
    Parallel.For(0,Environment.ProcessorCount,new ParallelOptions()
        {
            MaxDegreeOfParallelism = Environment.ProcessorCount
        },i =>
        {
            while (true)
            {
            }
        });
}

为了比较充分的利用所有的处理器,使用 Parallel 来并行执行,最大的并发度设置为处理器的个数,避免并发度高的时候造成线程上下文的切换造成损失,方法体里则是用了一个死循环,让 CPU 一直在空转,一直在工作。

来看执行的效果,使用任务管理器中的性能页查看 CPU 使用率数据

cpu stats

可以看到还算是比较理想的达到了 CPU 100% 了~~

More

你还有别的实现方案吗?欢迎补充~~

直接系统运行这个示例的话可能会影响别的程序运行,也可以尝试使用容器技术,限制 CPU 去运行,可以自己尝试一下哈~

References

  • https://github.com/WeihanLi/SamplesInPractice/blob/master/StupidSamples/FullCpuSample.cs

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读