[Решено] Надо понизить температуру на ноутбуке

В планах перейти на Кальку как на основной рабочий дистр на ноутбуке
Сейчас рабочим является сборка на основе Ubuntu-mini + KDE-baseapps
Кальку поставлена CLS + KDE (минимальная установка)
Замечено, что под убунтой (ядро 3.16) рабочая температура в пределах :45-50 градусов

Physical id 0: +50.0°C (high = +87.0°C, crit = +105.0°C)
Core 0: +50.0°C (high = +87.0°C, crit = +105.0°C)
Core 1: +43.0°C (high = +87.0°C, crit = +105.0°C)
Core 2: +46.0°C (high = +87.0°C, crit = +105.0°C)
Core 3: +49.0°C (high = +87.0°C, crit = +105.0°C)

Под калькой (ядро 3.18.22, 4.1.10): 55-60 С
Сильно желаю,чтобы охлдатить ноут под калькой.
Подскажите, куда копать
В приложении вывод lspci

Решение: установка микрокод от Интел по руководству https://wiki.gentoo.org/wiki/Intel_microcode

lspci.txt (1.89 KB)

Мне кажется нужно смотреть сразу на несколько моментов, это настройка различных планировщиков и регуляторов.
I/O Scheduler, CPU Frequency Scaling Governor, энергосбережения процессора (CPU Idle).
Можно сравнить какие используются в Ubuntu и какие сейчас в вашей системе.

А что показывает

$ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors

и

$ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

Гувернеры - это первое, что я проверил. В обоих системах выставлен powersave по дефолту
также установлен laptop-tools
В приложениях выводы
cpupower frequency-info
cat /sys/block/sda/queue/scheduler
cpupower idle-info

cls_output.txt (4.13 KB)
ubuntu_output.txt (4.49 KB)

Похоже проблема в том, что в CLS подхватывается acpi_idle, а в Убунту intel_idle. Покопаю в эту сторону

P.S.
Проверил, действительно, ядлро было собрано без поддрежки intel_idle.
C intel_idle температура понизилась в среднем на пару градусов.
ISA adapter
Physical id 0: +58.0°C (high = +87.0°C, crit = +105.0°C)
Core 0: +57.0°C (high = +87.0°C, crit = +105.0°C)
Core 1: +47.0°C (high = +87.0°C, crit = +105.0°C)
Core 2: +51.0°C (high = +87.0°C, crit = +105.0°C)
Core 3: +56.0°C (high = +87.0°C, crit = +105.0°C)

Бум копать дальше.

Проверил, действительно, ядлро было собрано без поддрежки intel_idle.

Спасибо за информацию, следующие Stage выйдут с поддержкой intel_idle.

Alexander Tratsevskiy wrote:

Спасибо за информацию, следующие Stage выйдут с поддержкой intel_idle.

Главное, чтоб на пользу.

Продолжаю битву за холод (хотя зима уже на дворе и возможность погреть руки о ноут может быть и не лишняя)
Поставил на CLS ядро 3.19 от убунты
это же ядро поставил в убунте.
Ситуация не поменялась: СLS - около 58 С; убунта - около 50 С.
Сильного различия по сервисам не вижу (в файлах).
Пока пришел к выводу, что проблема не в ядре.
Убунта запускается со следующими ключами

/boot/vmlinuz-3.19.0-31-generic root=UUID=706e6b68-da3e-4a51-bad9-f2dc74eae7eb ro splash quiet acpi_osi=’!Windows 2012’ acpi_osi=Linux acpi=force acpi_enforce_resources=lax i915.i915_enable_rc6=1 i915.i915_enable_fbc=1 i915.lvds_downclock=1 i915.semaphores=1 drm.vblankoffdelay=1 acpi_backlight=vendor

А CLS с такими

/boot/vmlinuz-3.19.8-ckt7 root=UUID=838ab824-7246-49e9-a377-a1771ea42279 ro zswap.enabled=1 zswap.compressor=lz4 zswap.max_pool_percent=30 video=1920x1080 real_resume=/dev/sda9 elevator=cfq intel_pstate=enable calculate=video:intel splash=silent,theme:calculate console=tty1 quiet acpi_osi=’!Windows 2012’ acpi_osi=Linux acpi=force acpi_enforce_resources=lax i915.i915_enable_rc6=1 i915.i915_enable_fbc=1 i915.lvds_downclock=1 i915.semaphores=1 drm.vblankoffdelay=1 acpi_backlight=vendor

cls_services.txt (1.8 KB)
ubuntu_services.txt (1.81 KB)

Попробуйте sys-power/powertop — консольная утилита на ncurces (табы переключаются клавишей tab — man powertop).
На последней вкладке выдает рекомендации (выделить и нажать enter) по энергосбережению и как следствие падает температура ноута. Всё что остается, так это применить эти рекомендации при загрузке.
Очевидно, что ряд таких рекомендаций уже задействованы в ubuntu.

Victor Siman’kin wrote:

Попробуйте sys-power/powertop — консольная утилита на ncurces (табы переключаются клавишей tab — man powertop).
На последней вкладке выдает рекомендации (выделить и нажать enter) по энергосбережению и как следствие падает температура ноута. Всё что остается, так это применить эти рекомендации при загрузке.
Очевидно, что ряд таких рекомендаций уже задействованы в ubuntu.

Спасибо за напоминание по табах :slight_smile: Первым шагом в решении проблемы было “powertop --auto-tune”, что закончилось крашем повертопа, поэтому отложил его до выяснения причин. А про табы за несколько лет уже и забыл… Но судя по выводу повертопа Ubuntu требует большего тюнинга чем CLS, что не мешает первой быть на 10 градусов холоднее :frowning:
Применение всех тюнинговых рекомендаций эффекта не дали.

Пока не получается выяснить сколько накручивает кулер в каждой из систем… pwm-config ругается на отсутствие модулей. может там собака порылась.
Запуск thermald в CLS эффекта также не дал… а надежда на него была.

powertop-CLS.html (74.4 KB)
powertop-ubuntu.html (75.6 KB)

Вот что заметил, под убунтой кулер при 60 градусах начинает слышимо шевелиться. Под CLS такого эффекта нет.
Да и энергопотребление под Убунтой около 12 Вт (мин. 8 Вт), CLS - 20 Вт (мин 19,3 Вт)
Когда то под ОпенСюсей понизил энергопотребление за счет установки Бамблби, в CLS повторить опыт не удалось…

В общем, наиболее значимых результатов в понижении температуры дала установка микрокода от интел (https://wiki.gentoo.org/wiki/Intel_microcode).
После применения sys-apps/microcode-ctl температура стала сопоставима к показателям убунты.
Проверил, Убунта тож пользует миктрокод.

Пока тему с температурой считаю закрытой.

P.S.
Проверю, как она связана с борьбой с лишними ваттами мощности, отпишусь.

Получается, что пакет входит в состав убунты. Возможно имеет смысл его включить в CL. Вы что-то дополнительно настраивали?

Максим Владимиров wrote:

В общем, наиболее значимых результатов в понижении температуры дала установка микрокода от интел (https://wiki.gentoo.org/wiki/Intel_microcode).
После применения sys-apps/microcode-ctl температура стала сопоставима к показателям убунты.
Проверил, Убунта тож пользует миктрокод.

Пока тему с температурой считаю закрытой.

P.S.
Проверю, как она связана с борьбой с лишними ваттами мощности, отпишусь.

это чушь какая-то. уже давно (ну точно больше года) микрокод рулится ядром и поставляется с ядром (если вы конечно не ставите либре-ядро, которое очищено от «фирмварей»).
да и по вашей ссылке (внизу):

    Please be advised microcode_ctl is obsolete and v2.0+ is the temporary solution. Future microcode updates will be delivered through the kernel-firmware infrastructure.

Alexander Tratsevskiy wrote:

Получается, что пакет входит в состав убунты. Возможно имеет смысл его включить в CL. Вы что-то дополнительно настраивали?

микрокод давно уже грузится ядром.
соответсвенно необходимо (и достаточно) всего-лишь правильно прочитать это /usr/src/linux/Documentation/x86/early-microcode.txt

Victor Siman’kin wrote:

Максим Владимиров wrote:

В общем, наиболее значимых результатов в понижении температуры дала установка микрокода от интел (https://wiki.gentoo.org/wiki/Intel_microcode).
После применения sys-apps/microcode-ctl температура стала сопоставима к показателям убунты.
Проверил, Убунта тож пользует миктрокод.

Пока тему с температурой считаю закрытой.

P.S.
Проверю, как она связана с борьбой с лишними ваттами мощности, отпишусь.

это чушь какая-то. уже давно (ну точно больше года) микрокод рулится ядром и поставляется с ядром (если вы конечно не ставите либре-ядро, которое очищено от «фирмварей»).
да и по вашей ссылке (внизу):
[…]

Вопрос был не в том, как грузить микрокод: ядром или отдельным приложением.
Вопрос был: как понизить температуру?

Установлено, что на температурный режим во многом влияет загруженный микрокод.

Поставляемым ядром calculate микрокод не загружался. Для проверки был использован microcode-ctl.

А то, что microcode-ctl - это устаревший метод, как правильно замечено, написано в вики.

Дальше уже дело техники, каким путем идти :slight_smile:

Alexander Tratsevskiy wrote:

Получается, что пакет входит в состав убунты. Возможно имеет смысл его включить в CL. Вы что-то дополнительно настраивали?

Не уверен, что в Убунте пакет intel-microcode я не ставил самостоятельно.

На рабочей станции, собранной по указанной в первом посте схеме, микрокод не загружен и пакет intel-microcode не загружен.
Позже проверю на ноутбуке

Заинтересовался данным обсуждением
решил проверить - а есть ли микрокод в моем ядре

 # zcat /boot/initramfs-$(uname -r).img | cpio -t | grep -iE 'microcode|firmw|intel|amd'
lib64/firmware
lib64/firmware/i915
lib64/firmware/i915/skl_dmc_ver1.bin
lib64/firmware/i915/skl_dmc_ver1_18.bin
lib64/modules/4.3.0-calculate/kernel/drivers/char/agp/intel-gtt.ko.gz
lib64/modules/4.3.0-calculate/kernel/drivers/net/ethernet/intel
lib64/modules/4.3.0-calculate/kernel/drivers/net/ethernet/intel/e1000e
lib64/modules/4.3.0-calculate/kernel/drivers/net/ethernet/intel/e1000e/e1000e.ko.gz
54426 блоков

фирмвари не найдено
похоже либо я в ядре что-то наковырял, либо она не включается в initrd по умолчанию
предлагаю пользователей чистого calculate-sources проверить есть ли фирмваря в initrd подобным образом у себя

PS
похоже, действительно прошивку надо скачивать и, если в кальковское ядро она специально не добавляется к сорцам, то из коробки фирмвари на CPU не устанавливаются

$ awk '/^config /{p=0;} /^config MICROCODE/{p=1;} {if(p){print($0)}}' < /usr/src/linux/arch/x86/Kconfig
config MICROCODE
        tristate "CPU microcode loading support"
        depends on CPU_SUP_AMD || CPU_SUP_INTEL
        select FW_LOADER
        ---help---

          If you say Y here, you will be able to update the microcode on
          certain Intel and AMD processors. The Intel support is for the
          IA32 family, e.g. Pentium Pro, Pentium II, Pentium III, Pentium 4,
          Xeon etc. The AMD support is for families 0x10 and later. You will
          obviously need the actual microcode binary data itself which is not
          shipped with the Linux kernel.

          This option selects the general module only, you need to select
          at least one vendor specific module as well.

          To compile this driver as a module, choose M here: the module
          will be called microcode.

config MICROCODE_INTEL
        bool "Intel microcode loading support"
        depends on MICROCODE
        default MICROCODE
        select FW_LOADER
        ---help---
          This options enables microcode patch loading support for Intel
          processors.

          For the current Intel microcode data package go to
          <https://downloadcenter.intel.com> and search for
          'Linux Processor Microcode Data File'.

config MICROCODE_AMD
        bool "AMD microcode loading support"
        depends on MICROCODE
        select FW_LOADER
        ---help---
          If you select this option, microcode patch loading support for AMD
          processors will be enabled.

config MICROCODE_OLD_INTERFACE
        def_bool y
        depends on MICROCODE

config MICROCODE_INTEL_EARLY
        bool

config MICROCODE_AMD_EARLY
        bool

config MICROCODE_EARLY
        bool "Early load microcode"
        depends on MICROCODE=y && BLK_DEV_INITRD
        select MICROCODE_INTEL_EARLY if MICROCODE_INTEL
        select MICROCODE_AMD_EARLY if MICROCODE_AMD
        default y
        help
          This option provides functionality to read additional microcode data
          at the beginning of initrd image. The data tells kernel to load
          microcode to CPU's as early as possible. No functional change if no
          microcode data is glued to the initrd, therefore it's safe to say Y.

После экспериментов в генту слетел шмель bumble-bee. Точнее не запустился вместе с sddm. Температура вернулась к указанной в первом посте. Реанимация шмеля снизила температуру на место др 45-50 градусов. Так что в этой проблеме шмель,как оказалось, играет не последнюю роль