我目前正在使用基于AMD Opteron的NUMA系统。 为了满足当前项目的需要,我想让Linux和所有的系统进程只使用CPU0(最好只有一个内核),而让所有其他核心满足我自己的自私需求。 我知道这真的会影响系统的性能,但现在还行。
所以,我想知道是否有可能实现,而不会干扰内核源代码。 在Linux上任何有关NUMA和SMP实现细节的最新文章的链接都将被赞赏。
留下所有其他核心…
这意味着你想要实际使用其他内核。
在开始使用其他内核之前,请使用taskset为所有正在运行的用户进程(包括init)应用亲和性。 例如
taskset 0x00000001 1
然后将亲和力掩码设置为启动您的“自我需求”的过程的其他一切,例如
taskset 0xFFFFFFFE $$
除非你设置了只允许系统访问单个CPU的启动选项,否则你不能强制内核只在一个CPU上运行(而且它会是愚蠢的)。
有两个可能的内核参数:
maxcpus isolcpus
我认为你的情况,maxcpus是更好的select
加
maxcpus=1
到内核启动选项