§ Проблемы с Sandy Bridge на Linux 3.11 и выше.

Мне кажется что я уже писал о том, что с выходом ядра 3.11 у меня были проблемы связанные с непонятной работой процессора. Его частота скакала словно заяц на опушке в солнечный день, при этом загрузка процессора была околонулевой, а после выхода из спящего режима и вовсе прекращала опускаться ниже 2.2Ghz, что приводило к нагреву до 68-75С в простое. Ситуация улучшилась с выходом ядра 3.12, но улучшилась не до конца. Частота продолжила скакать, но нагрев заметно снизился, до 57-59С. Но в последнее время недовольство прыгающей частотой росло, и я сел за разбор полетов.

Нужно сказать что проблема обнаружилась очень быстро. Оказалось что процессор мой начисто забыл про режимы работы (так называемый governor) ondemand и conservative, оставив выбор из performance и powersave. Мне показалось это странным и первая же статья пролила свет на проблему. Оказалось что в последних версиях ядра (3.11 и 3.12 на момент написания) был добавлен модуль intel_pstate, который заменяет собой привычный acpi_cpufreq, для процессоров Intel Sandy Bridge и более поздних (как раз мой случай), и нареканий на работу именно этого модуля - половина интернетов.

Решений предлагается всего два:

1. Скачать и поставить себе linux thermal daemon (thermald) от Intel. Решение спорное. Ставить отдельный демон, что бы управлять модулем ядра который раньше работал автоматичесски? При этом собранных пакетов для Debian (и вроде даже для Ubunut) не существует, и все собирать руками? Не, я пас.

2. Отключить этот модуль ядра к четровой бабушке. А вот это можно попробовать. Короткий запрос в Google и понятно что для этого при загрузке ядра ему нужно передать параметр intel_pstate=disable

Для этого я открыл файл /etc/default/grub, нашел там строчку начинающуюся с GRUB_CMDLINE_LINUX_DEFAULT и дописал заветный параметр. Получилось как то так

GRUB_CMDLINE_LINUX_DEFAULT="zswap.enabled=1 zswap.max_pool_percent=70 zswap.compressor=lz4 intel_pstate=disable quiet"

После перезагрузки у меня в системе вновь появились привычные ondemand и conservative, и частота процессора вновь опустилась до 800Mhz в простое. Температура естественно упала до 52-55С, и скакать частота перестала. Думаю что вернусь к intel_pstate чуть позже, а пока буду работать на старом проверенном механизме.


comments powered by Disqus