打爆你的 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

Tags: