linux - 如何将频率缩放驱动程序从 "intel-pstate"更改为 "acpi-cpufr

我想更改 cpufreq-* 命令的当前驱动程序以控制 Intel NUC 上的 CPU 频率。当前的驱动程序是 intel-pstate,它仅允许 performancepowersave 作为调控器。

$ cpufreq-info --driver
intel_pstate
$ cpufreq-info --governors
performance powersave

intel-pstate 驱动程序没有 userspace 作为调控器,它允许固定 CPU 频率。所以,我想更改 cpufreq-* 命令的驱动程序。

我检查了可用的驱动程序并插入了 p4-clockmod 驱动程序:

$ ls /lib/modules/$(uname -r)/kernel/drivers/cpufreq/
amd_freq_sensitivity.ko  p4-clockmod.ko  speedstep-lib.ko
$ sudo modprobe p4-clockmod

但是,cpufreq-info 的驱动程序仍然是intel-pstate

$ cpufreq-info --driver
intel_pstate

请告诉我如何更改cpufreq-* 命令的驱动程序。

最佳答案

你应该可以这样做:

  1. 加载正确的模块:

     sudo modprobe p4-clockmod
    
  2. 禁用intel-pstate 驱动程序:

     echo off | sudo tee /sys/devices/system/cpu/intel_pstate/status
    
  3. 激活新驱动:

     echo p4-clockmod | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_driver
    

如果 intel-pstate 启用了 HWP 支持,则上述情况可能无法实现(关闭它需要使用内核命令行参数 intel_pstate=no_hwp 重新启动 如果我没记错的话,more info here)。


如果你想让事情永久化,你必须改变你的内核命令行参数:

  1. 编辑/etc/default/grub并更改GRUB_CMDLINE_LINUX_DEFAULT,您应该添加intel_pstate=disablep4- clockmod,所以它应该是这样的:

     GRUB_CMDLINE_LINUX_DEFAULT="... intel_pstate=disable p4-clockmod"
    
  2. 更新 grub 配置:

     sudo update-grub
     # or 
     sudo grub-mkconfig -o /boot/grub/grub.cfg
    
  3. 重启并检查模块是否加载了 lsmod


另请注意,这不仅仅是“更改 cpufreq-* 命令的驱动程序”。这会更改系统范围的频率缩放驱动程序,cpufreq-* 命令仅适用于当前使用的任何驱动程序。

关于linux - 如何将频率缩放驱动程序从 "intel-pstate"更改为 "acpi-cpufreq"或 "p4-clockmod"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61356296/

相关文章:

php - 更改 Woocommerce 管理员订单列表时间和日期格式

ios - SwiftUI View 未更新以反射(reflect) UIViewControlle

javascript - 如何在保持背景颜色不变的情况下为 Puppeteer 生成的 pdf 页面

ionic-framework - Ionic 5 键盘的问题

java-8 - jdk 11 中缺少外部 jar 文件

c# - 了解 C# 中的非托管关键字

python - 当没有 activate.bat 并且我是凡人时,如何在虚拟环境中的任务调度程序中

google-cloud-platform - 自托管 Gitlab,在 Google Cloud

node.js - 如何增加 Node.js 中的最大调用堆栈大小

javascript - postgres : relation does not exist wh