linux系统之cpupower命令

发布时间 2024-01-11 09:01:23作者: 杨灏

简介

  cpupower命令的功能是用于调整CPU主频参数,Linux系统内核支持根据使用场景来通过调节CPU主频参数来提高计算性能或降低功耗。 对于移动设备来讲,在没有接通电源的时候,续航是很重要的。而服务器是一直接着电源的,而且需要性能很强,此时就应禁止CPU休眠功能,并把CPU主频固定到最高值了。

 

语法格式:cpupower [参数] [对象]

# 查看命令帮助信息
[Thu Jan 11 08:40:40 root@localhost ~ ]# cpupower 
Usage:    cpupower [-d|--debug] [-c|--cpu cpulist ] <command> [<args>]
Supported commands are:
    frequency-info
    frequency-set
    idle-info
    idle-set
    set
    info
    monitor
    help

Not all commands can make use of the -c cpulist option.

Use 'cpupower help <command>' for getting help for above commands.

查看当前CPU的全部主频信息

cpupower -c all frequency-info      # 查看所有CPU信息
cpupower -c 0 frequency-info        #查看CPU0的信息
cpupower -c 1 frequency-info        #查看CPU1的信息
cpupower -c 2 frequency-info        #查看CPU2的信息

设置当前CPU为性能模式

cpupower -c all frequency-set -g performance
  • performance:将CPU频率固定工作在其支持的最高运行频率上,不动态调节,可以获取到最大的性能。
  • powersave: 将 CPU 频率设置为最低的所谓 “省电” 模式,CPU 会固定工作在其支持的最低运行频率上。
  • 因此这两种 governors 都属于静态 governor,即在使用它们时 CPU 的运行频率不会根据系统运行时负载的变化动态作出调整。
  • 这两种 governors 对应的是两种极端的应用场景,使用 performance governor 是对系统高性能的最大追求,而使用 powersave governor 则是对系统低功耗的最大追求。
  • userspace:最早的 cpufreq 子系统通过 userspace governor 为用户提供了这种灵活性。
  • 系统将变频策略的决策权交给了用户态应用程序,并提供了相应的接口供用户态应用程序调节 CPU 运行频率使用。
  • ondemand:按需快速动态调整 CPU 频率, 一有 cpu 计算量的任务,就会立即达到最大频率运行,等执行完毕就立即回到最低频率;
  • ondemand:userspace 是内核态的检测,用户态调整,效率低。
  • conservative: 与 ondemand 不同,平滑地调整 CPU 频率,频率的升降是渐变式的, 会自动在频率上下限调整,和 ondemand 的区别在于它会按需分配频率,而不是一味追求最高频率;

查看CPU主频信息

cpupower frequency-info

查看当前CPU可用策略

cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors

查看CPU当前生效策略

cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

查看CPU当前频率

cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq