ubuntu开启关闭CPU核心的指定线程、开启关闭CPU超频boost、指定特定CPU线程运行相应任务(taskset)
假设CPU是8核16线程的,那么是从cpu0一直到cpu15。
ubuntu开启关闭CPU核心的指定线程
假设当前要关闭线程2的核心,则
首先开启全局root权限:
sudo su
然后
echo 0 > /sys/devices/system/cpu/cpu2/online
下面给大家放上一个简单的脚本以供大家选择关闭相应核心:
首先,新建一个文件:
sudo nano close_core.sh
然后将下面的代码复制粘贴进去:
#!/bin/bash
for k in $( seq 6 11 )
do
echo 0 > /sys/devices/system/cpu/cpu${k}/online
echo ${k}
done
cat /proc/cpuinfo | grep MHz
保存后在终端输入:
sh close_core.sh
即可关闭cpu6到cpu11,也就是线程6,7,8,9,10,11。通过调整第二行for里面最后的两个数字来更换关闭的一系列线程。此时可以在系统监视器中看见当前的线程已经减少了6个了。
ubuntu开启关闭CPU超频boost
首先开启全局root权限:
sudo su
然后
echo 0 > /sys/devices/system/cpu/cpufreq/boost
ubuntu指定特定CPU线程运行相应任务
使用taskset命令
在指定线程上运行任务
taskset -c 线程 你的任务
例如在线程0,1,2,3上运行一个文件名为sample.py的python代码,则应在终端输入:
taskset -c 0,1,2,3 python sample.py
将已有任务绑定到特定线程运行
taskset -cp 《CPU ID | CPU IDs》 《Process ID》
例如将PID为23456的任务绑定到线程4和线程5上运行,则应该输入:
taskset -cp 4,5 26531