Central-Processing-Unit

如何防止使用特定的 CPU 核心?

  • May 27, 2016

是否可以防止 CPU 核心被 Linux 中的作業系統使用?maxcpus=<n>引導參數可防止在作業系統中看到指定數量的核心。我希望所有核心都是可見的,但作業系統只使用一些核心來調度程序。

編輯:這是確保關鍵程序可以安排在一個核心上並且保持不是絕對重要但高度 CPU 密集型程序可以相互競爭其他核心所必需的。這是在 CentOS 6 上。

使用isolcpus核心命令行上的參數將某些核心與使用者空間任務隔離開來。引用核心啟動參數文件

isocpus=

$$ KNL,SMP $$將 CPU 與通用調度程序隔離開來。格式:,…, 或 -(必須是升序的正範圍)或混合,…,-

           This option can be used to specify one or more CPUs
           to isolate from the general SMP balancing and scheduling
           algorithms. You can move a process onto or off an
           "isolated" CPU via the CPU affinity syscalls or cpuset.
           <cpu number> begins at 0 and the maximum value is
           "number of CPUs in system - 1".

           This option is the preferred way to isolate CPUs. The
           alternative -- manually setting the CPU mask of all
           tasks in the system -- can cause problems and
           suboptimal load balancer performance.

引用自:https://serverfault.com/questions/779383