Установите порог дроссельной заслонки температуры процессора на Ubuntu/Thinkpad
Я получаю следующие сообщения об ошибках пару раз в час:
08.03.18 21:27 kernel CPU0: Core temperature above threshold, cpu clock throttled (total events = 2234)
08.03.18 21:27 kernel CPU2: Core temperature above threshold, cpu clock throttled (total events = 2234)
08.03.18 21:27 kernel CPU1: Package temperature above threshold, cpu clock throttled (total events = 2695)
08.03.18 21:27 kernel CPU3: Package temperature above threshold, cpu clock throttled (total events = 2695)
08.03.18 21:27 kernel CPU2: Package temperature above threshold, cpu clock throttled (total events = 2695)
08.03.18 21:27 kernel CPU0: Package temperature above threshold, cpu clock throttled (total events = 2695)
08.03.18 21:27 kernel CPU2: Core temperature/speed normal
08.03.18 21:27 kernel CPU0: Core temperature/speed normal
08.03.18 21:27 kernel CPU3: Package temperature/speed normal
08.03.18 21:27 kernel CPU1: Package temperature/speed normal
08.03.18 21:27 kernel CPU0: Package temperature/speed normal
08.03.18 21:27 kernel CPU2: Package temperature/speed normal
Спецификация оборудования:
ThinkPad X1 Yoga 2nd
N1NET33W (1.20 )
Intel(R) Core(TM) i7-7600U CPU @ 2.80GHz
Production date 2017.11
Программного обеспечения:
Distributor ID: Ubuntu
Description: Ubuntu 17.10
Release: 17.10
Codename: artful
Linux 4.13.0-36-generic #40-Ubuntu SMP Fri Feb 16 20:07:48 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
Bios:
В моих настройках BIOS я настроил и батарею, и переменный ток, BIOS обновлен.
В чем проблема
Проблема в том, что порог температуры процессора достигается слишком рано, это происходит около 75°C, хотя процессору разрешено достигать 100°C. Температура никогда не поднимается выше 85°C. Таким образом, мощность процессора снижается так быстро.
Я не знаю, может ли у меня быть проблема с оборудованием производителя, связанная с неадекватной термопастой, или это связано с программным обеспечением. Прежде чем отправить его в Lenovo, я хочу убедиться, что это не проблема, созданная самим собой.
Статистика
Когда я запускаю стресс-тест
stress -c 4 -t 300
сообщение об ошибке происходит практически мгновенно.
i7z выдает следующий вывод:
Cpu speed from cpuinfo 2903.00Mhz
cpuinfo might be wrong if cpufreq is enabled. To guess correctly try estimating via tsc
Linux's inbuilt cpu_khz code emulated now
True Frequency (without accounting Turbo) 2903 MHz
CPU Multiplier 29x || Bus clock frequency (BCLK) 100.10 MHz
Socket [0] - [physical cores=2, logical cores=4, max online cores ever=2]
TURBO ENABLED on 2 Cores, Hyper Threading ON
Max Frequency without considering Turbo 3003.10 MHz (100.10 x [30])
Max TURBO Multiplier (if Enabled) with 1/2/3/4 Cores is 39x/39x/39x/39x
Real Current Frequency 3187.97 MHz [100.10 x 31.85] (Max of below)
Core [core-id] :Actual Freq (Mult.) C0% Halt(C1)% C3 % C6 % Temp VCore
Core 1 [0]: 3187.97 (31.85x) 99.9 0 0 0 85 1.0037
Core 2 [1]: 3187.97 (31.85x) 99.9 0 0 0 84 1.0037
C0 = Processor running without halting
C1 = Processor running with halts (States >C0 are power saver modes with cores idling)
C3 = Cores running with PLL turned off and core cache turned off
C6, C7 = Everything in C3 + core state saved to last level cache, C7 is deeper than C6
Above values in table are in percentage over the last 1 sec
[core-id] refers to core-id number in /proc/cpuinfo
'Garbage Values' message printed when garbage values are read
Ctrl+C to exit
Как уже говорилось, он никогда не превышает 85 Temp, но процессор замедляется.
датчики показывают следующий вывод
iwlwifi-virtual-0
Adapter: Virtual device
temp1: +30.0°C
pch_skylake-virtual-0
Adapter: Virtual device
temp1: +52.0°C
acpitz-virtual-0
Adapter: Virtual device
temp1: +56.0°C (crit = +98.0°C)
thinkpad-isa-0000
Adapter: ISA adapter
fan1: 5859 RPM
coretemp-isa-0000
Adapter: ISA adapter
Package id 0: +59.0°C (high = +100.0°C, crit = +100.0°C)
Core 0: +59.0°C (high = +100.0°C, crit = +100.0°C)
Core 1: +58.0°C (high = +100.0°C, crit = +100.0°C)
Но высокая установка, вероятно, не имеет никакого эффекта.
thermald
Так что я играл с Thermald тогда.
Это моя настроенная конфигурация, которую я нашел здесь:
<?xml version="1.0" encoding="UTF-8"?>
<ThermalConfiguration>
<Platform>
<Name>Use Fan control first then CPU throttle</Name>
<ProductName>*</ProductName>
<Preference>QUIET</Preference>
<ThermalZones>
<ThermalZone>
<Type>x86_pkg_temp</Type>
<TripPoints>
<TripPoint>
<SensorType>x86_pkg_temp</SensorType>
<Temperature>90000</Temperature>
<type>passive</type>
<ControlType>SEQUENTIAL</ControlType>
<CoolingDevice>
<type>_fan_</type>
</CoolingDevice>
</TripPoint>
</TripPoints>
</ThermalZone>
</ThermalZones>
<CoolingDevices>
<CoolingDevice>
<Type>_fan_</Type>
<Path>/sys/bus/platform/devices/thinkpad_hwmon/pwm1</Path>
<MinState>100</MinState>
<MaxState>255</MaxState>
<IncDecStep>50</IncDecStep>
<DebouncePeriod>10</DebouncePeriod>
</CoolingDevice>
</CoolingDevices>
</Platform>
</ThermalConfiguration>
Это не имеет никакого значения, но я могу видеть настройки порогов как минимум (последние строки):
╰─ sudo thermald --no-daemon --loglevel=info
NO RAPL sysfs present
22 CPUID levels; family:model:stepping 0x6:8e:9 (6:142:9)
Running on a vanilla kernel
Polling mode is enabled: 4
sensor_update: type x86_pkg_temp
sensor_update: type pch_skylake
sensor_update: type iwlwifi
sensor_update: type acpitz
thd_read_default_thermal_sensors loaded 4 sensors
dts /sys/devices/platform/coretemp.0/name doesn't exist
dts /sys/class/hwmon/hwmon3/name doesn't exist
failed to open /dev/acpi_thermal_rel
failed to open /dev/acpi_thermal_rel
TRT/ART read failed
Dumping parsed XML Data
*** Index 0 ***
Name: UseFancontrolfirstthenCPUthrottle
UUID:
type: 0
Zone 0
Name: x86_pkg_temp
Trip Point 0
temp 90000
trip type 2
hyst id 0
sensor type x86_pkg_temp
cdev index 0
type _fan_
influence 0
SamplingPeriod 0
Cooling Dev 0
Type: _fan_
Path: /sys/bus/platform/devices/thinkpad_hwmon/pwm1
Min: 100
Max: 255
Step: 50
AutoDownControl: 0
Product Name matched [wildcard]
sensor index:3 x86_pkg_temp /sys/class/thermal/thermal_zone3/ Async:1
sensor index:1 pch_skylake /sys/class/thermal/thermal_zone1/ Async:0
sensor index:2 iwlwifi /sys/class/thermal/thermal_zone2/ Async:0
sensor index:0 acpitz /sys/class/thermal/thermal_zone0/ Async:0
sensor index:4 hwmon /sys/class/hwmon/hwmon1/temp1_input Async:0
sensor index:5 hwmon /sys/class/hwmon/hwmon1/temp2_input Async:0
sensor index:6 hwmon /sys/class/hwmon/hwmon1/temp3_input Async:0
thd_read_default_cooling devices loaded 4 cdevs
powercap RAPL no long term time window
Use Default pstate drv settings
Product Name matched [wildcard]
3: Processor, C:0 MN: 0 MX:10 ST:1 pt:/sys/class/thermal/ rd_bk 0
1: Processor, C:0 MN: 0 MX:10 ST:1 pt:/sys/class/thermal/ rd_bk 0
2: Processor, C:0 MN: 0 MX:10 ST:1 pt:/sys/class/thermal/ rd_bk 0
0: Processor, C:0 MN: 0 MX:10 ST:1 pt:/sys/class/thermal/ rd_bk 0
4: intel_pstate, C:0 MN: 0 MX:10 ST:1 pt:/sys/devices/system/cpu/intel_pstate/ rd_bk 1
5: _fan_, C:255 MN: 100 MX:255 ST:50 pt:/sys/bus/platform/devices/thinkpad_hwmon/pwm1 rd_bk 1
6: LCD, C:0 MN: 0 MX:1060 ST:106 pt:/sys/class/backlight/intel_backlight/ rd_bk 1
Sorted trip dump zone index:1 type:pch_skylake:
index 0: type:critical temp:115000 hyst:1 zone id:1 sensor id:1 cdev size:0
trip type: 0 temp: 115000
Sorted trip dump zone index:0 type:acpitz:
index 0: type:critical temp:98000 hyst:1 zone id:0 sensor id:0 cdev size:0
trip type: 0 temp: 98000
thd_read_default_thermal_zones loaded 2 zones
zone cpu will be created
dts zone /sys/devices/platform/coretemp.0/name doesn't exist
/sys/class/hwmon/hwmon4/name->iwlwifi
/sys/class/hwmon/hwmon2/name->pch_skylake
/sys/class/hwmon/hwmon0/name->acpitz
dts zone /sys/class/hwmon/hwmon3/name doesn't exist
/sys/class/hwmon/hwmon1/name->coretemp
Buggy max temp: to close to critical 90000
Core temp DTS :critical 100000, max 90000, psv 95000
node type: Element, name: CoolingDevice value: rapl_controller
node type: Element, name: CoolingDevice value: intel_pstate
node type: Element, name: CoolingDevice value: intel_powerclamp
node type: Element, name: CoolingDevice value: cpufreq
node type: Element, name: CoolingDevice value: Processor
CDEVS order specified in thermal-cpu-cdev-order.xml
Sorted trip dump zone index:4 type:cpu:
index 0: type:passive temp:95000 hyst:0 zone id:4 sensor id:65535 cdev size:2
cdev[0] intel_pstate
cdev[1] Processor
trip type: 2 temp: 95000
Product Name matched [wildcard]
zone x86_pkg_temp bounded
Sorted trip dump zone index:5 type:x86_pkg_temp:
index 0: type:passive temp:90000 hyst:0 zone id:5 sensor id:3 cdev size:1
cdev[0] _fan_
trip type: 2 temp: 90000
Zone 1: pch_skylake, Active:0 Bind:0 Sensor_cnt:1
..sensors..
sensor index:1 pch_skylake /sys/class/thermal/thermal_zone1/ Async:0
..trips..
index 0: type:critical temp:115000 hyst:1 zone id:1 sensor id:1 cdev size:0
Zone 0: acpitz, Active:0 Bind:0 Sensor_cnt:1
..sensors..
sensor index:0 acpitz /sys/class/thermal/thermal_zone0/ Async:0
..trips..
index 0: type:critical temp:98000 hyst:1 zone id:0 sensor id:0 cdev size:0
Zone 4: cpu, Active:1 Bind:0 Sensor_cnt:1
..sensors..
sensor index:3 x86_pkg_temp /sys/class/thermal/thermal_zone3/ Async:1
..trips..
index 0: type:passive temp:95000 hyst:0 zone id:4 sensor id:65535 cdev size:2
cdev[0] intel_pstate
cdev[1] Processor
index 1: type:polling temp:90000 hyst:0 zone id:4 sensor id:3 cdev size:0
Zone 5: x86_pkg_temp, Active:1 Bind:1 Sensor_cnt:1
..sensors..
sensor index:3 x86_pkg_temp /sys/class/thermal/thermal_zone3/ Async:1
..trips..
index 0: type:passive temp:90000 hyst:0 zone id:5 sensor id:3 cdev size:1
cdev[0] _fan_
index 1: type:polling temp:85000 hyst:0 zone id:5 sensor id:3 cdev size:0
FD = 7
Current user preference is 0
thd_engine_thread begin
Set : threshold:90000, temperature:53000, cdev:5(_fan_), curr_state:205, max_state:255
Set : threshold:90000, temperature:57000, cdev:5(_fan_), curr_state:155, max_state:255
Set : threshold:90000, temperature:85000, cdev:5(_fan_), curr_state:105, max_state:255
Set : threshold:90000, temperature:85000, cdev:5(_fan_), curr_state:100, max_state:255
Заключительные мысли / вопросы
- Можно ли установить порог температуры процессора?
- Он вообще должен быть установлен или это связано с BIOS/ оборудованием?
- Может ли мое оборудование (термопаста) быть дефектным?
- Или я, возможно, проанализировал что-то совершенно не так?
Обновление № 1
После более глубокого изучения этой темы и прочтения нескольких статей, касающихся дросселирования процессора Intel и других публикаций, в которых встречаются одинаковые (или просто незначительные) проблемы в других операционных системах и ядрах, я пришел к выводу, что мой ноутбук может работать не так, как я думал,,
Хотя сообщения ядра все еще странные, но причиной может быть неправильный уровень printk ядра или что-то еще. Я также получаю эти сообщения, когда температура моего процессора составляет около +52,0°C, а частота процессора составляет всего 1200 МГц. Это просто не имеет никакого смысла вообще.
При тестировании моего ноутбука с помощью стресс-тестов я вижу сообщения об ошибках, но на самом деле процессоры не блокируются. Если я тестирую только одно ядро, я получаю полный турбонаддув с частотой 3900 МГц. Тестирование всех 4 ядер снижает максимальную частоту до ~3300 МГц. Что является ожидаемым поведением.
Так что я просто отложу эту проблему в сторону - если кто-то здесь не может предоставить больше внутренностей.
Обновление № 2
Без изменений после обновления системы:
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 18.04 LTS
Release: 18.04
Codename: bionic
Linux4.15.0-20-generic #21-Ubuntu SMP Tue Apr 24 06:16:15 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
Обновление № 3
Без изменений после обновления системы:
Distributor ID: Ubuntu
Description: Ubuntu 18.10
Release: 18.10
Codename: cosmic
Linux x1 4.18.0-13-generic #14-Ubuntu SMP Wed Dec 5 09:04:24 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
Таким образом, мое последнее предположение заключается в том, что журналы являются весьма вероятными поддельными или что уровень журнала неправильно настроен. Потому что мой ноутбук просто отлично работает, не дросселируется и не перегревается.
Тем не менее, если у кого-то есть догадки, как это можно исправить, не стесняйтесь отвечать:-)
Обновление № 4
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 19.04
Release: 19.04
Codename: disco
Linux cw-x1 5.0.0-13-generic #14-Ubuntu SMP Mon Apr 15 14:59:14 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
Я все еще получаю сообщения о пороге регулирования.
2 ответа
@WinEunuuchs2Unix
Я создал ответ, чтобы обсудить ваш предложенный дроссельный инструмент от erpalma.
Я немного поигрался с этим инструментом - включая несколько зависаний системы:) К сожалению, я пока не смог найти подходящую конфигурацию для своей системы. Но этот инструмент определенно влияет на мою систему. В первый раз я вижу что-то действительно меняющее поведение дросселирования / температуры.
Без инструмента температура моего процессора никогда не превышала 85°C. После того, как я установил инструмент и запустил сервис, я вижу повышение температуры до 98°C под нагрузкой с частотой ядра ~3300 МГц (а не 3187 МГц).
erpalma рекомендует инструмент s-tui, который я тоже могу порекомендовать.
- Перед установкой упомянутой службы дроссельной заслонки
- После активации услуги
Я буду следить за своей системой в течение пары дней и сообщу об этом. Спасибо за сейчас!
Есть сообщение об ошибке, поданное против thermald:
Неустойчивое поведение контроля частоты процессора под нагрузкой
Люди получают те же ошибки, о которых вы сообщаете:
Oct 14 22:30:59 p5520 kernel: [ 9481.033687] CPU3: Package temperature above threshold, cpu clock throttled (total events = 5845)
Oct 14 22:30:59 p5520 kernel: [ 9481.033688] CPU7: Package temperature above threshold, cpu clock throttled (total events = 5845)
Oct 14 22:30:59 p5520 kernel: [ 9481.033718] CPU1: Package temperature above threshold, cpu clock throttled (total events = 5845)
Oct 14 22:30:59 p5520 kernel: [ 9481.033719] CPU5: Package temperature above threshold, cpu clock throttled (total events = 5845)
Oct 14 22:30:59 p5520 kernel: [ 9481.033720] CPU0: Package temperature above threshold, cpu clock throttled (total events = 5845)
Oct 14 22:30:59 p5520 kernel: [ 9481.033720] CPU4: Package temperature above threshold, cpu clock throttled (total events = 5845)
Oct 14 22:30:59 p5520 kernel: [ 9481.033722] CPU6: Package temperature above threshold, cpu clock throttled (total events = 5845)
Oct 14 22:30:59 p5520 kernel: [ 9481.033722] CPU2: Package temperature above threshold, cpu clock throttled (total events = 5845)
Oct 14 22:30:59 p5520 kernel: [ 9481.034709] CPU3: Package temperature/speed normal
Oct 14 22:30:59 p5520 kernel: [ 9481.034710] CPU0: Package temperature/speed normal
Oct 14 22:30:59 p5520 kernel: [ 9481.034711] CPU4: Package temperature/speed normal
Oct 14 22:30:59 p5520 kernel: [ 9481.034711] CPU7: Package temperature/speed normal
Oct 14 22:30:59 p5520 kernel: [ 9481.034738] CPU2: Package temperature/speed normal
Oct 14 22:30:59 p5520 kernel: [ 9481.034738] CPU6: Package temperature/speed normal
Oct 14 22:30:59 p5520 kernel: [ 9481.034739] CPU1: Package temperature/speed normal
Oct 14 22:30:59 p5520 kernel: [ 9481.034740] CPU5: Package temperature/speed normal
Комментарий № 18 говорит:
попробуйте запустить Thermald в окне из командной строки.
systemctl stop thermald #thermald --no-daemon --loglevel=infoЗатем сделайте то, что вызывает это, и присоедините выходные данные вышеупомянутой команды.
Если вы решили, что сообщение об ошибке соответствует вашей ситуации, вы можете подписаться на уведомления по электронной почте.
На моей машине я не могу продублировать проблему с thermald а также tlp загружен. Я открыл пять терминалов и набрал в каждом:
while true ; do : ; done
Все, что произошло, - это пять ядер, работающих на 100% и 3100 МГц. Дросселирования не произошло, но это заставило два вентилятора ноутбука работать на низкой скорости. Обычно в Linux они выключены (или, по крайней мере, я их не слышу). Температура системы составляет 88 градусов по Цельсию, и клавиатура все еще реагирует на ввод этого ответа. В гостиной все же немного теплее...
Когда журнал сказал, что температура выше порога. В этот момент она выше порога (95C). Процессор Intel имеет кратковременное турбо-ускорение, которое может потреблять огромное количество энергии за очень короткое время (менее 1 с). Если монитор использует среднюю температуру за 1 с для измерения максимальной температуры, она обычно не отображается. Это плохо для оборудования, но это попытка сделать процессор более отзывчивым.
У меня была та же самая проблема, получая ошибки как это:
Oct 14 22:30:59 p5520 kernel: [ 9481.033687] CPU3: Package temperature above threshold, cpu clock throttled (total events = 5845)
Oct 14 22:30:59 p5520 kernel: [ 9481.033688] CPU7: Package temperature above threshold, cpu clock throttled (total events = 5845)
Oct 14 22:30:59 p5520 kernel: [ 9481.033718] CPU1: Package temperature above threshold, cpu clock throttled (total events = 5845)
Oct 14 22:30:59 p5520 kernel: [ 9481.033719] CPU5: Package temperature above threshold, cpu clock throttled (total events = 5845)
Oct 14 22:30:59 p5520 kernel: [ 9481.033720] CPU0: Package temperature above threshold, cpu clock throttled (total events = 5845)
Oct 14 22:30:59 p5520 kernel: [ 9481.033720] CPU4: Package temperature above threshold, cpu clock throttled (total events = 5845)
Oct 14 22:30:59 p5520 kernel: [ 9481.033722] CPU6: Package temperature above threshold, cpu clock throttled (total events = 5845)
Oct 14 22:30:59 p5520 kernel: [ 9481.033722] CPU2: Package temperature above threshold, cpu clock throttled (total events = 5845)
Ни один из предыдущих ответов здесь не сработал, но этот ответ на SuperUser дал мне идею искать соответствующие настройки BIOS.
Я отключил функцию speedstep в моем Lenovo E590 Ci8 BIOS, и это решило проблему, вышеуказанные ошибки исчезли.
РЕДАКТИРОВАТЬ-: реальное решение, которое я устанавливал. ARCH В Linux эта проблема возникла из-за начальной загрузки для установки, что решается установкой новейшего МИКРОКОДА INTEC PROCESSOR
