如何Linux动态启用和禁用超线程技术
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,这篇文章主要介绍"如何Linux动态启用和禁用超线程技术",在日常操作中,相信很多人在如何Linux动态启用和禁用超线程技术问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答
千家信息网最后更新 2025年12月02日如何Linux动态启用和禁用超线程技术
这篇文章主要介绍"如何Linux动态启用和禁用超线程技术",在日常操作中,相信很多人在如何Linux动态启用和禁用超线程技术问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"如何Linux动态启用和禁用超线程技术"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
intel的超线程技术能让一个物理核上并行执行两个线程,大多数情况下能提高硬件资源的利用率,增强系统性能。对于cpu密集型的数值程序,超线程技术可能会导致整体程序性能下降。鉴于此,执行OpenMP或者MPI数值程序时建议关闭超线程技术。
以下是github上找到的动态打开、关闭超线程技术的脚本。其原理是根据/sys/devices/system/cpu/cpuX/topology/thread_siblings_list文件找到逻辑核的关系,然后编辑/sys/devices/system/cpu/cpuX/online文件实现动态开启和关闭超线程技术。
#!/bin/bashHYPERTHREADING=1function toggleHyperThreading() { for CPU in /sys/devices/system/cpu/cpu[0-9]*; do CPUID=`basename $CPU | cut -b4-` echo -en "CPU: $CPUID\t" [ -e $CPU/online ] && echo "1" > $CPU/online THREAD1=`cat $CPU/topology/thread_siblings_list | cut -f1 -d,` if [ $CPUID = $THREAD1 ]; then echo "-> enable" [ -e $CPU/online ] && echo "1" > $CPU/online else if [ "$HYPERTHREADING" -eq "0" ]; then echo "-> disabled"; else echo "-> enabled"; fi echo "$HYPERTHREADING" > $CPU/online fi done}function enabled() { echo -en "Enabling HyperThreading\n" HYPERTHREADING=1 toggleHyperThreading}function disabled() { echo -en "Disabling HyperThreading\n" HYPERTHREADING=0 toggleHyperThreading}#ONLINE=$(cat /sys/devices/system/cpu/online)OFFLINE=$(cat /sys/devices/system/cpu/offline)echo "---------------------------------------------------"echo -en "CPU's online: $ONLINE\t CPU's offline: $OFFLINE\n"echo "---------------------------------------------------"while true; do read -p "Type in e to enable or d disable hyperThreading or q to quit [e/d/q] ?" ed case $ed in [Ee]* ) enabled; break;; [Dd]* ) disabled;exit;; [Qq]* ) exit;; * ) echo "Please answer e for enable or d for disable hyperThreading.";; esacdone备注:
脚本需
root权限执行;可以通过
cat /proc/cpuinfo查看启用的cpu信息,该命令无需root权限;lscpu命令可查看cpu的状态(无需root权限):超线程状态下threads per core数值为2,禁用时为1.
参考
Disable / Enable HyperThreading cores on runtime - linux
到此,关于"如何Linux动态启用和禁用超线程技术"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
线程
技术
动态
学习
数值
权限
程序
命令
性能
文件
更多
状态
脚本
帮助
实用
接下来
两个
信息
利用率
原理
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
北京广厦网络技术股...
曙光存储服务器管理口ip
数据库环境怎么弄
池州外协加工软件开发价格
智慧教室网络安全
互联网网络技术的应用
服务器主机重装系统
网络技术路由交换
phpsocket服务器框架
cbm数据库高级检索使用方法
暴雪美版服务器怎么下载
数据库控制中授权的英文表示
七日杀服务器后台管理
举办过网络安全培训的厂家
电影购票系统的数据库
盘州软件开发外包公司
北京天融信网络技术安全有限公司
小软件开发价格
配置文件存数据库优劣
聚英教育软件开发
网络技术涉及哪些内容
vb sql更新数据库
亚马逊软件开发面试流程
央办网络安全认定标准
深圳市财信网络技术有限公司
做网络安全的都有哪些厂家
上海圈圈网络技术
北京软件开发驻场要多少钱
华为官网寄修服务器
手机银行的服务器异常