CPU работает горячее на холостом ходу при использовании параметров загрузки grub

Итак, мой ноутбук был "заморозить крах" случайным образом (Система полностью не реагирует, мышь замерзла, часы не идут вперед, никакие команды клавиатуры не имеют никакого эффекта, и единственный способ выйти из него является жесткая перезагрузка с помощью физической кнопки питания), от любого места до нескольких минут до нескольких часов использования моего компьютера.

Естественно, я исследовал проблему и попытался найти решение. Просмотрев журнал ядра, я увидел, что последним зарегистрированным событием перед замораживанием является несколько "Hardware Errors":

kernel: mce: [Hardware Error]: Machine check events logged

Поэтому я поискал это и попытался найти решение. И я нашел, я нашел этот пост. В котором в основном говорится, что мне нужно добавить несколько параметров загрузки. И это действительно решило проблему, с тех пор у меня больше не было ни ошибок оборудования, ни случайных зависаний. Вот параметры загрузки:

noapic pci=assign-busses apicmaintimer idle=poll reboot=cold,hard

Но проблема в том, что теперь мой ноутбук работает на холостом ходу при гораздо более высокой температуре при использовании этих параметров загрузки. Около 70 градусов Цельсия, вместо 35-40. Теперь, конечно, я проверил System Monitor, чтобы узнать, есть ли что-то, отнимающее время у процессора, но ничего нет. Он использует от 0 до 3% загрузки процессора на всех 4 потоках, ничего необычного.

И я знаю, что параметры загрузки вызывают эту проблему, потому что я пробовал удалять их, и после перезагрузки вентиляторы вращаются не так громко, и он работает на холостом ходу при нормальной температуре. Но аппаратные ошибки вернулись, как и случайные зависания.

Я совсем новичок в Linux, поэтому я буквально не имею понятия, что делают эти параметры загрузки. Может ли кто-нибудь опытный сказать мне, что они делают, и почему они заставляют мой процессор простаивать так сильно?

EDIT #1

Итак, благодаря помощи matigo и Doug, мне сказали, что параметр idle=poll отключает систему простоя для процессора, что, очевидно, заставляет процессор работать горячее и создавать больше тепла.

При удалении этого параметра загрузки аппаратные ошибки вернулись.

Итак, мои зависания и аппаратные ошибки, похоже, как-то связаны с тем, как процессор переключается между состояниями простоя.

Мой процессор - Intel Core i7-7500U

Вот результат выполнения команды grep . /sys/devices/system/cpu/cpu0/cpuidle/state*/name:

/sys/devices/system/cpu/cpu0/cpuidle/state0/name:POLL
/sys/devices/system/cpu/cpu0/cpuidle/state1/name:C1
/sys/devices/system/cpu/cpu0/cpuidle/state2/name:C1E
/sys/devices/system/cpu/cpu0/cpuidle/state3/name:C3
/sys/devices/system/cpu/cpu0/cpuidle/state4/name:C6
/sys/devices/system/cpu/cpu0/cpuidle/state5/name:C7s
/sys/devices/system/cpu/cpu0/cpuidle/state6/name:C8
/sys/devices/system/cpu/cpu0/cpuidle/state7/name:C9
/sys/devices/system/cpu/cpu0/cpuidle/state8/name:C10

Итак, в основном мне нужна помощь в следующем: чтобы избавиться от этих аппаратных ошибок и сбоев без полного отключения системы простоя процессора, если это возможно.

0
задан 3 September 2021 в 07:45

1 ответ

Параметр загрузки idle = poll в основном отключает систему в режиме ожидания, переводя ее в состояние бездействия в виде циклов бездействия. Итак, да, вы ожидаете намного больше ненужного тепла, потому что процессоры никогда не переходят в спящий режим.

Вот пример моего тестового сервера с использованием turbostat:

doug@s19:~$ sudo turbostat --Summary --quiet --show Busy%,Bzy_MHz,IRQ,PkgWatt,PkgTmp,RAMWatt,GFXWatt,CorWatt --interval 15
Busy%   Bzy_MHz IRQ     PkgTmp  PkgWatt CorWatt GFXWatt RAMWatt
0.01    938     558     36      1.34    0.68    0.00    0.89
0.02    800     455     36      1.33    0.67    0.00    0.89 <<< All idle states enabled
60.14   4799    109298  47      29.48   28.82   0.00    0.89 <<< transition sample
99.76   4800    180297  47      47.24   46.59   0.00    0.89 <<< All idle states disabled, except poll.
99.76   4800    180311  49      47.65   46.99   0.00    0.89
99.76   4800    180305  49      47.82   47.17   0.00    0.89

Примечание: драйвер масштабирования частоты процессора intel_pstate «видит» процессоры как занятые, но top не видит:

top - 19:23:43 up  7:14,  3 users,  load average: 0.00, 0.00, 0.00
Tasks: 214 total,   1 running, 213 sleeping,   0 stopped,   0 zombie
%Cpu0  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu1  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu2  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu3  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu4  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu5  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu6  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu7  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu8  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu9  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu10 :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu11 :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :  31936.7 total,  31137.0 free,    312.3 used,    487.5 buff/cache
MiB Swap:   2048.0 total,   2048.0 free,      0.0 used.  31227.9 avail Mem
0
ответ дан 4 September 2021 в 09:23

Другие вопросы по тегам:

Похожие вопросы: