打爆你的 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 100% 了~~
More
你還有別的實作方案嗎?歡迎補充~~
直接系統運行這個示例的話可能會影響別的程式運行,也可以嘗試使用容器技術,限制 CPU 去運行,可以自己嘗試一下哈~
References
- https://github.com/WeihanLi/SamplesInPractice/blob/master/StupidSamples/FullCpuSample.cs
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/193088.html
標籤:.NET Core
上一篇:打爆你的 CPU
下一篇:C#中Chart的應用
