145
ubuntu 对多CPU统一设置高性能模式

一、问题描述

  之前在网上找到的CPU设置高性能模式,只能设置CPU0单个CPU,下述是对多核CPU统一设置工作模式。
二、软件安装与设置

  执行下述命令sudo apt-get install indicator-cpufreq,然后重启电脑。此时,界面右上角会出现如下图icon 点击该图标,并设置为performance 模式。

    performance : 高性能模式,最大化 CPU 性能,将 CPU 频率设为最高值
    powersave :节能模式,最大化节能,将 CPU 频率设为最低值
    ondemand : 根据 CPU 使用情况动态调整频率,适合一般的桌面应用
    conservative:比 ondemand 更加保守,适合省电模式下的移动设备使用

三、查看各CPU状态

  执行下述命令cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor,可以看出各CPU均为performance 模式。
在这里插入图片描述
四、开机默认高性能

  上述步骤图形化操作方便快捷,但只是能保证当前CPU状态,重启电脑后,又恢复默认设置。下述是设置开机默认高性能步骤:
4.1 安装cpufrequtils

  执行sudo apt-get install cpufrequtils 进行软件安装。
该软件常用命令

    cpufreq-info :查看CPU状态;
    sudo cpufreq-set -c 0 -g performance: 设置指定CPU的状态。-c 1 指定要设置的 CPU 核心编号。 0表示第1个 CPU 核心; -g performance 设置CPU状态为 performance;
    sudo cpufreq-set -c 1 -d 900MHz: 设置指定CPU的状态, -d 900MHz 指定CPU 最低频率;
    sudo cpufreq-set -c 2 -u 2.6GHz: 设置指定CPU的状态, -u 2.6GHz 指定CPU 最高频率;

4.2 编写脚本

  编写set_cpu_performance.sh文件,并通过sudo chmod +x set_cpu_performance.sh赋予可执行权限

#!/bin/bash
# Check if cpufrequtils package is installed
if ! [ -x "$(command -v cpufreq-set)" ]; then
  echo "Error: cpufrequtils package is not installed. Please install it first."
  exit 1
fi

cpu_mode=performance
#cpu_mode=powersave

# Get the number of CPU cores
cpu_cores=$(nproc)

# Set performance mode for each CPU core
for ((cpu=0; cpu<$cpu_cores; cpu++));
do
  sudo cpufreq-set -c $cpu -g ${cpu_mode}
done

# Verify the current CPU frequency governor
cpufreq-info --policy | grep "current policy"

echo "Curent CPU(${cpu_cores}) are ${cpu_mode}."
# cat /proc/cpuinfo | grep processor | wc -l


其中,

    cpu_mode :可以在 powersave、performance切换
    cat /proc/cpuinfo | grep processor | wc -l: 获取当前CPU总个数,或者使用lscpu来查看

4.3 设为默认开机脚本

   通过执行sudo bash set_cpu_performance.sh确认脚本是否起作用。

这条帮助是否解决了您的问题? 已解决 未解决

提交成功!非常感谢您的反馈,我们会继续努力做到更好! 很抱歉未能解决您的疑问。我们已收到您的反馈意见,同时会及时作出反馈处理!