我想禁用 3 个 CPU 内核并在单个内核上运行我的处理器。我使用过命令:maxcpus=1. 但在此之后我执行了这个命令ls /sys/devices/system/cpu。它仍然显示cpu0,cpu1,cpu2,cpu3。
我也试过:echo 0 > /sys/devices/system/cpu3/online但我收到以下错误:no such file or directory。
Gil*_*il' 31
正如帕特里克在评论中指出的那样,您的路径/sys错误。
echo 0 > /sys/devices/system/cpu/cpu3/online
Run Code Online (Sandbox Code Playgroud)
如果要关闭所有 CPU,除了cpu0:
for x in /sys/devices/system/cpu/cpu[1-9]*/online; do
echo 0 >"$x"
done
Run Code Online (Sandbox Code Playgroud)
maxcpus=1在 shell 提示符下键入没有任何效果。更准确地说,它将变量设置为该 shell 中maxcpus的值1,这没有任何其他影响。您可以通过maxcpus作为内核参数传递来设置启动时的 CPU 数量。为此,您必须更改引导加载程序配置(例如,更改 U-Boot 中的内核命令行)。