[Power/Heat] 20.8版本在T7600 CPU上面主频始终是最低1GHz Resolved
Tofloor
poster avatar
xjtu
deepin
2023-03-14 01:41
Author

【系统环境】
镜像版本:Deepin 20.8
CPU:Intel Core Duo T7600 2.33GHz
GPU:ATI V5250 (Thinkpad T60p)

【操作步骤】
装好系统,发现系统卡顿,使用系统监视器发现CPU主频始终卡在1GHz。

【问题现象】

查看 /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq 和 /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq 两个文件都是1000000,也就是1GHz,也就是CPU被设置死为1GHz。

电源管理设置的是:平衡模式。实测无论平衡模式还是节能模式,都是一样的1GHz。T7600频率范围为1G-2.33GHz.

尝试在grub中设置intel_pstate=disable实测没有效果。

Reply Favorite View the author
All Replies
liwl
deepin
2023-03-14 02:06
#1

是否设置了acpi参数?/etc/default/grub里面

我记得我之前设置了acpi之后,直接把12核心降到了1核心,卡死

Reply View the author
xjtu
deepin
2023-03-14 02:25
#2
liwl

是否设置了acpi参数?/etc/default/grub里面

我记得我之前设置了acpi之后,直接把12核心降到了1核心,卡死

没有设置。需要设置什么acpi参数呢?

Reply View the author
liwl
deepin
2023-03-14 02:27
#3
xjtu

没有设置。需要设置什么acpi参数呢?

没有就不需要设置,我怕你设置上了

你看看是不是bios有什么特殊限制设置导致的

Reply View the author
xjtu
deepin
2023-03-14 02:28
#4
liwl

没有就不需要设置,我怕你设置上了

你看看是不是bios有什么特殊限制设置导致的

不是BIOS的问题,同样的BIOS设置Win7一切正常。

Reply View the author
xjtu
deepin
2023-03-14 02:45
#5

除了这个主频限制到1GHz的问题,别的方面还是不错的,默认驱动都有,甚至连T60p的指纹传感器都直接识别装好了驱动。在装Deepin20.8之前试了Ubuntu 20.04和18.04都是装完花屏。

Reply View the author
155******65
deepin
2023-03-14 03:04
#6

20.7装下,如正常,再升到20.8

Reply View the author
xjtu
deepin
2023-03-14 03:31
#7

搞定了。是BIOS搞得鬼,更准确的说法是Linux和BIOS的兼容有问题。

/sys/devices/system/cpu/cpu0/cpufreq/bios_limit这个文件中是1000000,说明BIOS限制1GHz。

使用bios_limit作为关键词搜索,找到答案:

https://wiki.archlinux.org/title/CPU_frequency_scaling

BIOS frequency limitation

Some CPU/BIOS configurations may have difficulties to scale to the maximum frequency or scale to higher frequencies at all. This is most likely caused by BIOS events telling the OS to limit the frequency resulting in /sys/devices/system/cpu/cpu0/cpufreq/bios_limit set to a lower value.

Either you just made a specific Setting in the BIOS Setup Utility, (Frequency, Thermal Management, etc.) you can blame a buggy/outdated BIOS or the BIOS might have a serious reason for throttling the CPU on its own.

Reasons like that can be (assuming your machine's a notebook) that the battery is removed (or near death) so you are on AC-power only. In this case, a weak AC-source might not supply enough electricity to fulfill extreme peak demands by the overall system and as there is no battery to assist this could lead to data loss, data corruption or in worst case even hardware damage!

Not all BIOS'es limit the CPU-Frequency in this case, but, for example, most IBM/Lenovo Thinkpads do. Refer to thinkwiki for more thinkpad related info on this topic.

If you checked there is not just an odd BIOS setting and you know what you are doing, you can make the Kernel ignore these BIOS-limitations.

Warning: Make sure you read and understood the section above. CPU frequency limitation is a safety feature of your BIOS and you should not need to work around it.

A special parameter has to be passed to the processor module.

For trying this temporarily, change the value in /sys/module/processor/parameters/ignore_ppc from 0 to 1.

For setting it permanently, Kernel modules#Setting module options describes alternatives. For example, you can add processor.ignore_ppc=1 to your kernel boot line, or create

/etc/modprobe.d/ignore_ppc.conf
# If the frequency of your machine gets wrongly limited by BIOS, this should help
options processor ignore_ppc=1

貌似很多ThinkPad都会有这个问题,BIOS出于某种原因向内核传递了错误的信息,然后内核就限制CPU频率了。解决方法是让内核忽略这个限制,在内核启动命令行加上processor.ignore_ppc=1就好了。

Reply View the author
liwl
deepin
2023-03-14 04:30
#8

楼主请把帖子改成已解决,造福社区朋友

Reply View the author