运行16.04的笔记本哪种cpu频率控制最适合

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
回复
icefrog09
帖子: 73
注册时间: 2016-05-16 21:10
系统: windows98

运行16.04的笔记本哪种cpu频率控制最适合

#1

帖子 icefrog09 » 2016-05-17 20:53

我是新手一个,换用linux后明显感觉电脑待机时温度偏高,看看网页温度都上47摄氏度(原来用win7时只有30多度,不播放视频)。
然后我就查社区资料,看到一个标注了已解决字样的帖子,但是那帖子是针对14版本写的,也不太详细,老实说没看懂。。。
下面说下我目前的情况:
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
显示
performance powersave,说明我用的是Intel_pstate
现在我想换用cpufreq的ondemand策略,请问改怎么办?
(这些术语都是百度的。。。真是什么都不懂 :em06
Canonical:I would like to give you a big hi everyday with an error report
头像
vickycq
帖子: 4507
注册时间: 2011-03-20 13:12
系统: Debian
来自: 山东省寿光县
联系:

Re: 运行16.04的笔记本哪种cpu频率控制最适合

#2

帖子 vickycq » 2016-05-17 21:47

intel_pstate 问题参见 viewtopic.php?f=126&t=477189

增加内核参数 intel_pstate=disable 从而将频率调度驱动由 intel_pstate 改为 acpi_cpufreq

===============
附增加内核参数方法
===============
1 - 临时增加
开机到 GRUB 界面时,按 e 进入编辑界面
在 'linux' 一行末尾增加内核参数。看起来像这样:ro splash vt.handoff=7 intel_pstate=disable
按 Ctrl+x 启动

2 - 永久增加
编辑 /etc/default/grub 在 GRUB_CMDLINE_LINUX_DEFAULT 中增加内核参数
看起来像这样:
GRUB_CMDLINE_LINUX_DEFAULT="ro splash vt.handoff=7 intel_pstate=disable"
保存后执行 update-grub
Debian 中文论坛 - forums.debiancn.org
欢迎所有 Debian GNU/Linux 用户
icefrog09
帖子: 73
注册时间: 2016-05-16 21:10
系统: windows98

Re: 运行16.04的笔记本哪种cpu频率控制最适合

#3

帖子 icefrog09 » 2016-05-17 22:24

vickycq 写了:intel_pstate 问题参见 viewtopic.php?f=126&t=477189

增加内核参数 intel_pstate=disable 从而将频率调度驱动由 intel_pstate 改为 acpi_cpufreq

===============
附增加内核参数方法
===============
1 - 临时增加
开机到 GRUB 界面时,按 e 进入编辑界面
在 'linux' 一行末尾增加内核参数。看起来像这样:ro splash vt.handoff=7 intel_pstate=disable
按 Ctrl+x 启动

2 - 永久增加
编辑 /etc/default/grub 在 GRUB_CMDLINE_LINUX_DEFAULT 中增加内核参数
看起来像这样:
GRUB_CMDLINE_LINUX_DEFAULT="ro splash vt.handoff=7 intel_pstate=disable"
保存后执行 update-grub
之前就是看的您的回复,可是当时没看懂,太感谢了
Canonical:I would like to give you a big hi everyday with an error report
icefrog09
帖子: 73
注册时间: 2016-05-16 21:10
系统: windows98

Re: 运行16.04的笔记本哪种cpu频率控制最适合

#4

帖子 icefrog09 » 2016-05-17 22:38

问题是我完成上述操作2后再cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors仍然只显示performance powersave两个,没有ondemand等策略怎么办?
百度说要安装相应模块,请教下怎么安装啊(但是自己打开cpufreq的文件夹看“目测”里面好像有不少策略,难道没改好?)?
Canonical:I would like to give you a big hi everyday with an error report
头像
vickycq
帖子: 4507
注册时间: 2011-03-20 13:12
系统: Debian
来自: 山东省寿光县
联系:

Re: 运行16.04的笔记本哪种cpu频率控制最适合

#5

帖子 vickycq » 2016-05-17 23:35

icefrog09 写了:问题是我完成上述操作2后再cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors仍然只显示performance powersave两个,没有ondemand等策略怎么办?
那麽执行以下指令 看看究竟有无禁用 intel_pstate

代码: 全选

 cat `find /sys | grep scaling_driver`
执行以下指令 看看内核有无开启 acpi_cpufreq 支持

代码: 全选

grep -R 'ACPI_CPUFREQ=' /boot
grep -R 'FREQ' /boot | grep DEFAULT
另确保按照2楼贴文操作
Debian 中文论坛 - forums.debiancn.org
欢迎所有 Debian GNU/Linux 用户
icefrog09
帖子: 73
注册时间: 2016-05-16 21:10
系统: windows98

Re: 运行16.04的笔记本哪种cpu频率控制最适合

#6

帖子 icefrog09 » 2016-05-18 1:12

cat `find /sys | grep scaling_driver`
intel_pstate
intel_pstate
intel_pstate
intel_pstate
intel_pstate
intel_pstate
intel_pstate
intel_pstate

sudo grep -R 'ACPI_CPUFREQ=' /boot
/boot/config-4.4.0-21-generic:CONFIG_X86_ACPI_CPUFREQ=y
/boot/config-4.4.0-22-generic:CONFIG_X86_ACPI_CPUFREQ=y

sudo grep -R 'FREQ' /boot | grep DEFAULT
/boot/config-4.4.0-21-generic:CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
/boot/config-4.4.0-21-generic:# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
/boot/config-4.4.0-21-generic:# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
/boot/config-4.4.0-21-generic:# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
/boot/config-4.4.0-21-generic:# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
/boot/config-4.4.0-22-generic:CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
/boot/config-4.4.0-22-generic:# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
/boot/config-4.4.0-22-generic:# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
/boot/config-4.4.0-22-generic:# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
/boot/config-4.4.0-22-generic:# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set

此外使用了processor microcode firmware for intel cpus的附加驱动(不知道有没有关系)
GRUB部分:
GRUB_DEFAULT=0
GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="ro splash vt.handoff=7intel_pstate=disable"//之前这行引号内为quiet splash
GRUB_CMDLINE_LINUX=""
Canonical:I would like to give you a big hi everyday with an error report
头像
vickycq
帖子: 4507
注册时间: 2011-03-20 13:12
系统: Debian
来自: 山东省寿光县
联系:

Re: 运行16.04的笔记本哪种cpu频率控制最适合

#7

帖子 vickycq » 2016-05-18 1:33

icefrog09 写了:1. cat `find /sys | grep scaling_driver`
intel_pstate
intel_pstate
1. 未正确禁用 intel_pstate;
icefrog09 写了:CONFIG_X86_ACPI_CPUFREQ=y
2. 内核已开启 acpi_cpufreq 支持;
icefrog09 写了:CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
3. 正确切换到 acpi_cpufreq 后,由于内核被设定为默认 performance 模式,可能需要增加一些额外设定,以默认使用 ondemand 模式;
icefrog09 写了:GRUB_CMDLINE_LINUX_DEFAULT="ro splash vt.handoff=7intel_pstate=disable"//之前这行引号内为quiet splash
4. 新加参数 intel_pstate=disable 之前须有空格分隔
已有参数不必移除,只需将新加参数添加到末尾即可。注意参数之间需有空格分隔。
保存后别忘了 update-grub 并重新启动计算机。
重新启动计算机后 可通过 /proc/cmdline 检查目前的内核参数。
Debian 中文论坛 - forums.debiancn.org
欢迎所有 Debian GNU/Linux 用户
icefrog09
帖子: 73
注册时间: 2016-05-16 21:10
系统: windows98

Re: 运行16.04的笔记本哪种cpu频率控制最适合

#8

帖子 icefrog09 » 2016-05-18 17:14

/proc/cmdline:
BOOT_IMAGE=/boot/vmlinuz-4.4.0-22-generic.efi.signed root=UUID=250b7264-6f36-458d-b45a-bd30730c1fd7 ro ro splash vt.handoff=7 intel_pstate=disable vt.handoff=7

sudo cat `find /sys | grep scaling_driver`
acpi-cpufreq
acpi-cpufreq
acpi-cpufreq
acpi-cpufreq
acpi-cpufreq
acpi-cpufreq
acpi-cpufreq
acpi-cpufreq


sudo echo 'ondemand' > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
sudo echo 'ondemand' > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor
sudo echo 'ondemand' > /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor
sudo echo 'ondemand' > /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor
。。。。
在root权限下进行了如上设置,但没有任何输出,不知道是否改动成功

sudo grep -R 'FREQ' /boot | grep DEFAULT
/boot/config-4.4.0-21-generic:CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
/boot/config-4.4.0-21-generic:# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
/boot/config-4.4.0-21-generic:# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
/boot/config-4.4.0-21-generic:# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
/boot/config-4.4.0-21-generic:# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
/boot/config-4.4.0-22-generic:CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
/boot/config-4.4.0-22-generic:# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
/boot/config-4.4.0-22-generic:# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
/boot/config-4.4.0-22-generic:# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
/boot/config-4.4.0-22-generic:# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
是不是缺少配置文件?
Canonical:I would like to give you a big hi everyday with an error report
头像
vickycq
帖子: 4507
注册时间: 2011-03-20 13:12
系统: Debian
来自: 山东省寿光县
联系:

Re: 运行16.04的笔记本哪种cpu频率控制最适合

#9

帖子 vickycq » 2016-05-18 17:21

icefrog09 写了:/proc/cmdline:
BOOT_IMAGE=/boot/vmlinuz-4.4.0-22-generic.efi.signed root=UUID=250b7264-6f36-458d-b45a-bd30730c1fd7 ro ro splash vt.handoff=7 intel_pstate=disable vt.handoff=7
成功添加参数 intel_pstate=disable
icefrog09 写了:sudo cat `find /sys | grep scaling_driver`
acpi-cpufreq
acpi-cpufreq
成功禁用 intel_pstate 并切换为 acpi_cpufreq
icefrog09 写了: sudo echo 'ondemand' > /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor
在root权限下进行了如上设置,但没有任何输出,不知道是否改动成功
此处描述不清
是在 root 账户下设置 / 还是在普通用户账户下使用 sudo 设置
不过从“没有任何输出”的描述和给出的命令来看,应该是在 root 账户下使用 sudo 设置

1. 既然已经进入 root 账户,不必再加 sudo;
2. 在普通用户账户中上面的命令无法运行,因为 sudo 够不到重定向。需要使用 echo 'ondemand' | sudo tee /sys/devices/......;
3. “没有任何输出” 可能设置已经成功。检查 /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor 的值以确认;
4. 可将 echo 'ondemand' > /sys/devices/system/cpu/*/cpufreq/scaling_governor 加入 /etc/rc.local 中 exit 0 之前
Debian 中文论坛 - forums.debiancn.org
欢迎所有 Debian GNU/Linux 用户
头像
vickycq
帖子: 4507
注册时间: 2011-03-20 13:12
系统: Debian
来自: 山东省寿光县
联系:

Re: 运行16.04的笔记本哪种cpu频率控制最适合

#10

帖子 vickycq » 2016-05-18 17:25

icefrog09 写了: sudo grep -R 'FREQ' /boot | grep DEFAULT
/boot/config-4.4.0-21-generic:CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
是不是缺少配置文件?
不是
此文件 (/boot/config-`uname -r`) 记录了编译内核时选择的参数
并不反映当前的状态,也不能用于设置
其中内容为 "CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y"
说明此内核编译时 选择了 PERFORMANCE 为默认频率调度模式

查看目前生效的频率调度模式

代码: 全选

cat /sys/devices/system/cpu/*/cpufreq/scaling_governor
Debian 中文论坛 - forums.debiancn.org
欢迎所有 Debian GNU/Linux 用户
icefrog09
帖子: 73
注册时间: 2016-05-16 21:10
系统: windows98

Re: 运行16.04的笔记本哪种cpu频率控制最适合

#11

帖子 icefrog09 » 2016-05-18 17:37

cat /sys/devices/system/cpu/*/cpufreq/scaling_governor
conservative
conservative
conservative
conservative
conservative
conservative
conservative
conservative//与我之后的设置相符,风扇不叫了

在ect下没找到rc.local,只有rc.d系列文件夹
Canonical:I would like to give you a big hi everyday with an error report
头像
vickycq
帖子: 4507
注册时间: 2011-03-20 13:12
系统: Debian
来自: 山东省寿光县
联系:

Re: 运行16.04的笔记本哪种cpu频率控制最适合

#12

帖子 vickycq » 2016-05-18 18:02

icefrog09 写了:在ect下没找到rc.local,只有rc.d系列文件夹
创建或修改 /etc/rc.local 添加以下内容

代码: 全选

#!/bin/sh -e
echo 'ondemand' > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
exit 0
执行以下命令

代码: 全选

sudo chmod 755 /etc/rc.local
sudo systemctl enable rc-local.service
如果没有 rc-local.service 请再发帖
Debian 中文论坛 - forums.debiancn.org
欢迎所有 Debian GNU/Linux 用户
icefrog09
帖子: 73
注册时间: 2016-05-16 21:10
系统: windows98

Re: 运行16.04的笔记本哪种cpu频率控制最适合

#13

帖子 icefrog09 » 2016-05-18 18:49

出现了如下问题,应该是您大意了
cat /sys/devices/system/cpu/*/cpufreq/scaling_governor
ondemand
performance
performance
performance
performance
performance
performance
performance//其他核心默认都是performance,只改了第一个,但是我可以自己尝试改改看
全部改好了,真是太感谢了
Canonical:I would like to give you a big hi everyday with an error report
头像
vickycq
帖子: 4507
注册时间: 2011-03-20 13:12
系统: Debian
来自: 山东省寿光县
联系:

Re: 运行16.04的笔记本哪种cpu频率控制最适合

#14

帖子 vickycq » 2016-05-18 20:40

icefrog09 写了:出现了如下问题,应该是您大意了
cat /sys/devices/system/cpu/*/cpufreq/scaling_governor
ondemand
performance
其他核心默认都是performance,只改了第一个
非常抱歉 的确是我疏忽了
如果要一口气全部改变,可以使用

代码: 全选

echo 'ondemand' | tee /sys/devices/system/cpu/cpu?/cpufreq/scaling_governor
将以上内容加入 /etc/rc.local 中 exit 0 之前,再启用 rc-local.service 即可开机自动运行
Debian 中文论坛 - forums.debiancn.org
欢迎所有 Debian GNU/Linux 用户
回复