linux系统之cpupower命令

简介

  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 -c all frequency-set -f 2.4GHz

设置CPU最小频率

cpupower -c all frequency-set -d 2.4GHz

设置CPU最大频率

cpupower -c all frequency-set -u 2.4GHz

查看CPU实时频率

  • 用 monitor 子命令可以报告处理器拓扑,以及监视特定时间段内的频率和空闲电源状态统计。默认间隔为 1 秒,但可以使用 -i 来更改。工具中实施有独立的处理器休眠状态和频率计数器 — 其中一些可从内核统计中检索,另一些可从硬件寄存器中读取。可用的监视器取决于底层硬件和系统。使用 cpupower monitor -l 可以列出这些监视器
cpupower monitor

显示 CPU idle 驱动程序的可用空闲状态和其他统计信息

cpupower idle-info
  • 使用 cpupower idle-info 找出支持的处理器空闲状态后,可以使用 cpupower idle-set 命令禁用单个状态。通常,用户希望禁用最深度的休眠状态,例如:
cpupower idle-set -d 5
  • 或者,禁用延迟等于或高于 80 的所有 CPU:
cpupower idle-set -D 80
  • 启用所有的idle-sate
cpupower --cpu 15 idle-set --enable-all
  • 禁用 POLL 
cpupower --cpu 15 idle-set --disable POLL
cpupower -c 15 frequency-info 

设置/查看处理器电源硬件配置

# cpupower set 命令设置处理器节能策略
cpupower set --perf-bias 5
# 使用 --perf-bias 选项,您可以在支持的 Intel 处理器上启用软件来确定最优性能并节省功率。分配的值范围从 0 到 15,其中 0 是最优性能,15 是最佳节能。默认情况下,--perf-bias 选项适用于所有内核。要将它应用到各个内核,请添加 --cpu cpulist 选项。

# 显示处理器电源和相关硬件配置
cpupower 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

 

posted @   杨灏  阅读(3001)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示