dell-poweredge – 禁用Linux内的超线程(无法访问BIOS)

我有一个系统在远程工厂运行金融交易应用程序.我无法访问ILO / DRAC,但需要禁用超线程.该系统运行Intel Westmere 3.33GHz X5680十六进制CPU.我可以重新启动,但是要确保系统由于性能问题而无法启用超线程.在 Linux中有没有一种干净的方法来做到这一点?

编辑:添加到内核启动命令行的noht指令不起作用. RHEL也是如此.

看到:
https://bugzilla.redhat.com/show_bug.cgi?id=440321#c9

解决方法

如果您愿意,可以在运行时执行此操作.我找到了一个很好的解决方案: http://www.absolutelytech.com/2011/08/01/how-to-disable-cpu-cores-in-linux/

第1步:确定要关闭的Linux CPU:

cat /proc/cpuinfo

查找具有相同“核心ID”的CPU,您要关闭每对中的一个.

步骤2:关闭超线程CPU(在我的例子中是Linux看到的总共8个“CPU”中的最后四个)

echo 0 > /sys/devices/system/cpu/cpu4/online
echo 0 > /sys/devices/system/cpu/cpu5/online
echo 0 > /sys/devices/system/cpu/cpu6/online
echo 0 > /sys/devices/system/cpu/cpu7/online

您可以自己设置一个在系统启动后运行的脚本.

相关文章

linux常用进程通信方式包括管道(pipe)、有名管道(FIFO)、...
Linux性能观测工具按类别可分为系统级别和进程级别,系统级别...
本文详细介绍了curl命令基础和高级用法,包括跳过https的证书...
本文包含作者工作中常用到的一些命令,用于诊断网络、磁盘占满...
linux的平均负载表示运行态和就绪态及不可中断状态(正在io)的...
CPU上下文频繁切换会导致系统性能下降,切换分为进程切换、线...