Dell-Poweredge
在 Linux 中禁用超執行緒(無法訪問 BIOS)
我有一個在遠端設施執行金融交易應用程序的系統。我無權訪問 ILO/DRAC,但需要禁用超執行緒。該系統執行 Intel Westmere 3.33GHz X5680 六核 CPU。我可以重新啟動,但要確保系統由於性能問題而沒有啟用超執行緒。有沒有一種干淨的方法可以在 Linux 中做到這一點?
編輯:
noht
添加到核心引導命令行的指令不起作用。對於 RHEL 也是如此。
如果您願意,您可以在執行時執行此操作。我在這裡找到了一個很好的解決方案: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
您可以為自己設置一個在系統啟動後執行的腳本。
較新的核心提供了同時多執行緒 (SMT) 控制項。
您可以通過以下方式檢查 SMT 的狀態;
cat /sys/devices/system/cpu/smt/active
改變狀態
echo off > /sys/devices/system/cpu/smt/control
選項是;
- 在
- 離開
- 強制關閉
我們已經使用 Linux Kernel 4.4.0 對此進行了測試