通过bash命令禁用除一个核心外的所有核心

时间:2011-06-16 13:49:56

标签: bash ssh benchmarking multicore

有没有办法通过bash命令关闭双核机器的其中一个核心? 我试图比较不同机器的性能,我想在每台机器中只使用一个核心。有没有办法做到这一点? (请注意,我是通过SSH执行此操作,因此请告诉我通过SSH可以使用的选项。但我确实拥有root权限。)

2 个答案:

答案 0 :(得分:2)

你走了:

root# echo 0 > /sys/devices/system/cpu/cpu1/online
root# dmesg | tail | grep CPU
[23164.810371] CPU 1 is now offline

重定向由shell完成,因此如果您需要使用sudo,请像这样运行

$ sudo sh -c 'echo 0 >/sys/devices/system/cpu/cpu1/online'

如果你正在使用瓷砖;)

root# for i in $(seq 1 99); do echo 0 >/sys/devices/system/cpu/cpu$i/online; done

答案 1 :(得分:0)

您可以设置您运行的各种命令的亲和力,以强制它们在单个核心上进行调度。