我想确认infiniband协议显然不依赖于CPU工作。为了做到这一点,我有一个infiniband程序,我想关闭所有的CPU,看看它是否仍然工作。
在ubuntu(12.04)中关闭单个内核非常简单。
echo 0 | sudo tee /sys/devices/system/cpu/cpu1/online
然而,给定4个cpu,我只能关闭其中3个。我怎样才能在不暂停电脑的情况下关闭它们呢?
如果你想做的就是确认通道适配器接口不使用主处理器,我认为你不需要关闭所有的内核(我怀疑这是否可能)。
断开系统与所有东西的连接,包括IB交换机和任何其他可能需要处理的东西。使用它来获取系统时间使用、用户时间等方面的基本运行状态。
将系统重新连接到IB交换机,并开始处理不需要主处理器干预的远程请求。描述工作状态
然后比较它们,看看是否有任何超出自然统计变异性的东西。如果你确实发现了什么,那么回头分析你的系统,看看是否有其他的解释。冲洗并重复。
PS我怀疑主处理器的任何使用都是显而易见的。如果您检测到的变化很小,则可能是由于适配器以外的其他原因。