使用cpufreq给CPU临时调整主频

现代的CPU和主板都有节电技术,在CPU低负荷工作的会自动降频。如果需要临时设置主频和工作模式,可使用cpufreq手动调整。这个模式将在重启后失效,如果需要长期调整请修改/etc/sysconfig/cpuspeed。

一、检查内核加载

lsmod | grep "acpi_cpufreq"

SSH执行以上命令,查看内核是否已经加载acpi_cpufreq模块。如下图,表示已经加载。

 cpufreq-1.jpg

二、安装cpufreq

#32位系统
yum install -y cpufreq-utils.i386
#64位系统
yum install -y cpufreq-utils.x86_64

三、查看当前CPU工作频率和状态

cpufreq-info

SSH执行以上命令,输出如下结果:

cpufrequtils 005: cpufreq-info (C) Dominik Brodowski 2004-2006
Report errors and bugs to cpufreq@vger.kernel.org, please.
analyzing CPU 0:
  driver: acpi-cpufreq
  CPUs which need to switch frequency at the same time: 0
  hardware limits: 1.60 GHz - 2.60 GHz
  available frequency steps: 2.60 GHz, 2.50 GHz, 2.40 GHz, 2.30 GHz, 2.20 GHz, 2.10 GHz, 2.00 GHz, 1.90 GHz, 1.80 GHz, 1.70 GHz, 1.60 GHz
  available cpufreq governors: ondemand, userspace, performance
  current policy: frequency should be within 1.60 GHz and 2.60 GHz.
                  The governor "ondemand" may decide which speed to use
                  within this range.
  current CPU frequency is 1.60 GHz (asserted by call to hardware).

cpufreq-2.jpg

如上图,The governor "ondemand" 表示CPU频率的策略。CPU有三种策略,onemand(表示系统可以通过动态调整频率,降低功耗,具体的调整策略和内核的功耗管理算法有关),userspace(表示用户可以自己设定cpu的频率),performance(表示CPU总是在最高主频下工作)。

current CPU frequency is 1.60 GHz 表示当前正在运行的主频。

四、调整CPU工作模式

1、调整整体工作模式

cpufreq-set -g performance

SSH执行以上命令,表示让CPU总是在最高主频下工作(不节能,但高性能)。执行完毕后,可再次执行cpufreq-info查看CPU的工作策略和当前主频。

2、手工0号核心的指定最大频率和最小频率

cpufreq-set -c 0 -g userspace -d 180000 -u 240000

SSH执行以上命令,设定 0号核心 为 用户自定义,并设置最小频率为1.8GHz,最大频率2.4GHz

五、命令使用方法

Usage: cpufreq-set [options] Options:
-c CPU, --cpu CPU       #指定CPU核心号,请注意上图的analyzing CPU数字。
-d FREQ, --min FREQ     #手工指定最小主频速度。(在userspace策略)
-u FREQ, --max FREQ     #手工指定最大主频速度。(在userspace策略)
-g GOV, --governor GOV  #设置工作策略
-f FREQ, --freq FREQ    #设定特定的工作频率(CPU默认档次)
#请参考上图的available frequency steps -h, --help #输出这个帮助信息


转载内容请注明出处: 转载自V5.Net(原文:https://v5.net/CentOSApp/CentOS-Cpufreq-Set.html