打爆你的 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
總結
- 上一篇: 使用ML.NET模型生成器来完成图片性别
- 下一篇: 程序员过关斩将--搞定秒杀,只需要这几步