CPU变频工具包cpufrequtils

CPU变频

引言

在云计算模式下,各种应用的爆发式增长,对数据中心的性能提出了更高的要求,数据中心的规模和数量不断增加,但也带来了严重的能耗管理问题。数据中心的节能问题成为研究热点之一。

数据中心的节能方法包括计算设备节能冷却系统节能。而在计算设备节能中,有一种使用较为广泛的节能技术,即动态调频调压技术(Dynamic Voltage Frequency Scaling,DVFS),通过调节CPU频率来调节CPU功率,达到节能的目的。

这里介绍CPU变频工具包cpufrequtils及其使用方法。

cpufrequtils

cpufrequtils是用来在线调节cpu时钟频率的工具包,主要包含两个程序:

/usr/bin/cpufreq-info  # used to show the general CPU information
/usr/bin/cpufreq-set   # used for setting

安装

sudo apt-get install cpufrequtils

sudo yum install -y cpufreq-utils

安装完成后,会在 /sys/devices/system/cpu/cpu%/cpufreq(%为CPU编号)目录下生成如下文件:
在这里插入图片描述

查看

执行cpufreq-info命令,显示所有CPU的各种信息,较为重要的有:

  • hardware limits:CPU硬件支持的频率最小值-最大值;
  • available frequency steps:CPU频率可以被设置的值;
  • available cpufreq governors:CPU频率调节策略,包括conservative, ondemand, userspace, powersave, performance, schedutil。

需要注意的是,CPU的频率不能被设置为任意值,必须是available frequency steps中的值,若设置的值 v v v不在其中,系统会选择设置为大于 v v v且在available frequency steps中的最小值。此外,CPU频率设置不会超过其上下限,即 hardware limits。

设置

执行cpufreq-set命令,参数及其含义如下:
在这里插入图片描述

常用的命令为:

sudo cpufreq-set -c 0 -g userspace # 将0号CPU的频率控制模式设为用户模式
sudo cpufreq-set -c 0 -f 800000	# 将0号CPU的频率设置为800MHz

这些设置也可以通过写入 /sys/devices/system/cpu/cpu%/cpufreq 目录下的相应文件来实现。

CPU当前频率

有三个文件可以查看CPU当前频率,分别是:

  1. /proc/cpuinfo
  2. /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq
  3. /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq

然而,三个文件显示的CPU频率是不同的,查看相关资料,以第二个文件为准。

批量设置CPU的shell脚本

#!/bin/bash
for((i=0;i<=31;i++));
do
  sudo cpufreq-set -c $i -g userspace
  sudo cpufreq-set -c $i -f 1300000
done

参考资料

  1. cpu-freq文档
  2. CPU Performance Scaling
  3. How to use cpufrequtils
  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值