Install linux tools common

Linux Tuning для Современного ноутбука с Пассивной Системой Охлаждения

В последнее время всё больше и больше стало появляться ноутбуков, которые каким-то непостижимым образом работают вобще без вентилятора. Прямо как телефоны, но только ноутбуки. Бесшумно себе НЕ шелестят, и всё такое, интересное прям, ультра. И вот, в порыве, так сказать, молодецкого задора, решил я сменить свой «ещё в прочем очень даже неплохой ноутбук» на нечто этакое. Тем более, что диагональ в 14″ мне была великовата, и уже очень давно хотелось вернуться на 11.6, но с сохранением Full HD.

Выбор пал на среднюю модель в 700-11 линейке Lenovo Yoga. Отличная, по ноутбучным меркам ANSI клавиатура с отдельными Home (+PgUp) и End (+PgDn). Правда, без подсветки, но она мне не нужна. 3 USB разъёма: один из них совмещён с питанием. Заявленых и в итоге достигнутых 4 часа от батарейки. Вес чуть больше килограмма. В общем — красота. Да и рыжий цвет меня устраивает вполне, всё равно наклейками обычно всё заклеено.

Единственный нюанс: работает «без нареканий» под штатным Windows Home 10. Ну, то есть, как — «без нареканий» — это если не учитывать тот факт, что именно Работать Невозможно Же. Нет, я могу, конечно, но — это если очень много заплатят. А для обычной работы у меня Ubuntu, точней Linux Mint Mate Desktop. И, всё бы ничего, но после переезда — переноса разделов со старого на новый — Sarah отказалась дружить с моим новым ноутбуком:

  • Жутко грелся, сразу и всё время градусов до 70 ℃ в Idle режиме
  • Очень часто не загружался вообще
  • Часто терял WiFi при температурах выше 75 ℃

Безусловно, всё под катом — это субъективное мнение, но, думаю, оно подойдёт для всех свежих Ubuntu Based дистрибутивов, а так же и для других Linux, т.к. большая часть информации совершенно не касается конкретного дистрибутива.

Решение, а так же фотки ноута и ещё немного всякой чепухи, включая Geek Porn с моддингом, под катом (Warning Трафик):

Рассказ будет долгим, и, надеюсь, что интересным.

Для тех, кто знает всё или кому лень читать и смотреть предлагается следующая краткая инструкция, без каких либо пояснений и настроек, гуглите сами:

Тем, кто ещё не в курсе, или, вдруг, если до сих пор интересно что же все эти команды значат, предлагаю продолжать «наслаждаться» чтением.

UPD: Объективности Ради: Start

Только что поставил систему с нуля (2 дня с момента публикации).
В параметрах ядра, конечно, пришлось прописать noapic, чтобы просто загрузиться.
Далее, ничего не меняя поставил powertop + в загрузку его вписал.
Всё остальное оставил как и было, ничего не трогая.
Да, список сервисов после установки такой же, нет только cpufreqd.
Могу заверить, что при работающем powertop особой необходимости в tlp нет, так что смотрите как его ставить в каментах, а лучше на ArchWiki.
Выражаю искреннюю благодарность menstenebris за наводку.
Хабр славен комментариями, как обычно 🙂

Дальше читать, конечно, можно, там много плюх и приколюх ещё других осталось.

UPD: Объективности Ради: End

Так, увы повелось в последнее время, что: нельзя просто так взять и выбрать ноутбук. Особенно если вы страдаете наслаждаетесь перфекционизмом в тяжёлой форме. Тяга к маленьким и лёгким ноутбукам, с которыми будет кофортно, интересно и всё такое, приятное, затмевает здравый смысл и прочие рациональные предпочтения. Большие и тяжёлые железки я не люблю, равно как и маленькие, комфортные и удобные, но всё же не такие уж интересные по, хотя бы, соотношению цен Маки. К слову, два года назад у меня был уже не первый 11.6 ноутбук: Обзор нетбука MSI S12 / Geektimes.

По моим субъективным требованиям даже 1.5 килограмма — это уже много. Мой «предыдущий» Lenovo Flex-2-14 был в основном вынужденной покупкой. Это был тот самый момент, когда Рубль «лихорадило» и ничего лучшего с нормальной клавиатурой и Full HD матрицей, что хотя бы примерно влезаюло в имеющийся бюджет, найти было невозможно. К тому же свой «пред предидущий» MSI S12 я всяческими эксперементами довёл до того, PCB пошла трещинами, и ждать было просто больше «некуда». А ещё через месяц после того как я его купил он стоил уже на 15 тысяч рублей дороже, так что я остался вдвойне доволень покупкой.

Но, всё же прошло примерно несколько дней, эйфория прошла, и стал я ежемесячно искать что-нибудь более подходящее. Так, в начале зимы 2016 года решил было остановиться на Lenovo Yoga 3 11, но потом как-то всё завертелось, и вот, лето прошло, настала осень, и появилась эта линейка: 700-11. Посмотрев характеристики, обзоры и перерыв, как казалось, всё, что было можно по этой модели, я не нашёл оснований сомневаться в выборе. Даже несмотря на заявленое отсутствие активной системы охлаждения, и негативные отзывы по этой теме на просторах интернетов.

Альтернативные варианты были или неприлично дороже, или не устраивали по каким-нибудь другим характеристикам, таким, как, например, совмещение стрелок с клавишами Home, End, PgUp и PgDn. Так как я использую ноутбук для работы, то мне, конечно, важны все эти кнопки в «раздельном» режиме. Максимально допустимое пересечение — это комбинации Home + PgUp и End + PgDn. Все остальные варианты клавиатур идут сразу «ф топку», несмотря на любые остальные достоинства анализируемой техники. В этом ноутбуке клавиатура как раз подходящая, я бы даже сказал, что именно это совмещение вышло на редкость удачным. Единственное, что PgUp и PgDn шли «по умолчанию», и мне пришлось переназначить их «наоборот» при помощи modmap:

Читайте также:  Политика центра обновления windows

Но, конечно, это всё совсем несложно, и, так как оно стартует вместе с загрузкой рабочего стола, то никаких неудобств не вызывает.

Примерно в конце сентября я его заказал, прям там, в магазине на сайте Lenovo. В начале октября я получил посылку с заветным девайсом. Радости моей, конечно, не было вообще никакого предела. Лёгкий, мощный, клавиатура, матрица, всё работает, всё что мне нужно есть, SSD 265 на очень быстрой шине. Памяти, правда, всего 8 Gb, но надо ли мне больше? И всё такое, прям, радостное-радостное, да ещё и рыжее…

Проверив, что окошко «до-установки» Windows 10 Home Edition грузится нормально, я выключил компьютер, снял образ диска, стёр все разделы и «перенёс» разделы со своего Flex 2 на «теперешний», как я думал, ноутбук.

Вот тут, как вы можете догадаться, вполне ожидаемо включился «режим кирпича», без него не было бы этой статьи. И, да, дело не в том, что я забыл поставить Grub или что-то там ещё забыл, он вполне себе включался, но не загружался. Выглядело это примерно так:

Более детальных логов не сохранилось, но они и не нужны, наверное. После нескольких перезагрузок он вполне себе загружался, и работать было можно. Но было очень некомфортно, так как было просто нереально горячо. Датчики показывали минимум 63 ℃ градуса на ядрах, а если просто пошевелить мышкой, то подскакивали до 70 ℃.

Конечно же, я вернул Windows на место, просто чтобы убедиться, что всё ок.

И, действительно, всё было ОК. Он был горячий, но не настолько, чтобы к нему было сложно прикасаться. YouTube в Full HD и прочие прелести жизни вполне себе радовали, но нужно же было работать, а для этого нужно было как-нибудь поставить Linux.

Установка системы начисто, с нуля, тоже, как и ожидалось — ни к чему не приводила, всё оставалось по прежнему. В то время как «сборщица вирусов» предлагала уже сейчас работать и быстро, и с «холодной» головой: где-то во вполне комфортном для прикосновения рук диапазоне температур задней крышки. Бесчисленые попытки поставить другие ядра и/или дистрибутивы (свежие Mint | Ubuntu LTS) аналогично терпели полное фиаско: он по прежнему включался раза с третьего с той же ошибкой SMP.

Работать всё же было как-то нужно, и я вернулся на Flex-2-14. В последний из возможных 14 дней возврата я оформил заявку на сайте Lenovo и дал объявление на Avito.

Кстати, я пробовал купить его сразу БЕЗ Windows. К чести Lenovo надо отметить, что у меня ничего не вышло. Стоны по поводу того, что большинство пользовательского железа идёт с предустановленным Microsoft Windows и отказаться от этой, для меня лично «медвежьей услуги» — дело очень и очень проблемное, будут продолжаться, видимо, ещё очень долго.

Да, это уже получалось у кого-то, тут есть статьи:

  • Возврат предустановленной Windows 8
  • Возврат денег за Windows 8 на ноутбуке Lenovo.

Да, как бы, сами по себе ноутбуки Lenovo «вполне use-абильны», лично для меня без альтернативы, так как по соотношению «цена/качество» найти что-нибудь с вменяемой клавиатурой и матрицей практически невозможно, тем более в сегменте 11.6.

Стартовав с какой-то формы на http://www.lenovo.com/ru/ru/ я в итоге получил:
Response By E-mail (Ольга) (03/10/2016 11.28 AM)

Здравствуйте, Виктор!
Спасибо за обращение в компанию Lenovo.

Мы получили официальный ответ от Главного офиса, что, к сожалению, на данный момент, процедуру по возврату денежных средств за ОС, невозможно осуществить через наш интернет-магазин. Искренне сожалею.

С наилучшими пожеланиями, Ольга
Служба поддержки клиентов Lenovo.

Видимо они знают о проблемах с Linux у не совсем опытных пользователей. И, хотя мне никто в общем-то не запрещал ставить на компьютер всё, что вздумается, и в BIOS всё разлочено, но тем не менее, сдать Windows не вышло.

После выяснившихся проблем с Перегревом я снова им написал, и рассказал о ситуации. Поработав немного на Windows, я убедился, что в режиме планшета компьютер всё же совершенно не use-абелен. Он перегревается, и ничего с этим сделать нельзя, просто потому, что в задней крышке нет отверстий, от слова «совсем». Поэтмому перегрев, начинающийся в области кулера постепенно распространяется на остальные внутренности, приводя к полному отказу системы хоть как-нибудь внятно работать. Со временем отключается Wi-Fi, просто из-за перегрева, подозреваю, что в чип WiFi встроена какая-нибудь защита на этот случай, и он просто «железно» выключается. Конечно же мне предложили обратиться в Сервисный Центр и, описав им причину и сдав его на диагностику я, возможно, получил бы деньги по заявке на возврат. Но перспектива остатсья с бумажкой «принято в СЦ» меня очень не радовала.

На Avito тоже ничего не вышло, была пара звонков, но, видимо, все люди в тот же примерно момент нашли что-нибудь более интересное. Один человек даже хотел из Краснодара приехать в Ростов-на-Дону, но ему я, конечно, сказал, что за те же самые деньги он может купить Новый в магазине Lenovo, и не нужно никуда ехать.

Кстати, на всякий случай, если вдруг кого интересуют мои альтернативные варианты с безальтернативно заоблачными ценниками:

Итак, все круги мучений с поддержкой Lenovo закончились, объявление с Avito никому более не было интересно, и, уж совсем кстати днях я прочитал это: Lenovo разрешила ставить Linux на ноутбуки c Windows 10, но с отказом от техподдержки.

В связи с чем, я решил попытаться ещё раз, уже никуда не торопясь, обстоятельно, так, как я могу, если хочу или очень надо. Практически сразу выяснилось, что BIOS моего ноутбука не совсем свежей версии, если не сказать, что совсем не свежей. Конечно же, после обновления изменилось ровным счётом — абсолютно ничего.

Читайте также:  Как открыть bin файл linux

Для тех, кому интересны внутренности, как их видит Linux:

Основательно изучив эти наши интернеты я выяснил, что SMP — это Symmetric multiprocessing (Wikipedia). Как это использовать было пока не совсем понятно, но останавливаться было некуда, и я решил зайти несколько с другой стороны. Я снял крышку (кликабельно)…

Безусловно, проблем с загрузкой это не решило, но вполне решило проблемы с дальнейшей работой, температура резко упала, и не росла до критических значений. И WiFi работал стабильно, как говорится: «ни единого разрыва». Убедившись, что я всё же скорее прав, чем не прав, и заменив штатную, кстати, довольно в общем-то не плохую термопасту, я собрал его назад и стал разбираться дальше. И, да, смена термопасты отсудила «первоначальный» пыл, теперь после загрузки он уже достаточно долго был способен держаться в диапазоне 55-57 ℃, что, в общем-то почти комфортно. Я даже стал пытаться работать работу на работе. Но, через два-четыре часа, в зависимости от нагрузки, он всё же нагревался до потери WiFi. Хорошо, что к этому моменту я выяснил, что достаточно перезагрузить Network Manager Applet и WiFi на некоторое время, а может быть и до конца «сеанса» будет снова со мной:

В общем, стало можно гуглить «не отходя», как говорится, «от кассы». Довольно скоро я узнал, что в мире этого процессора теперь за всё отвечает Power Profile. Это несколько прояснило ситуацию, оказывается гугление на предмет «температура процессора» было совсем не тем, что мне было нужно. Нужно было гуглить «Power Management Ubuntu» с сопутствующими уточнениями, желательно за последний год-два.

Таким образом, я выяснил, что сразу в момент загрузки процессор включается в режим Perfomance и работает в нём до тех пор, пока не включится что-то внутри системы, что выставит ему нужный режим. А т.к. «CPU Frequency Scaling Monitor» моего рабочего стола, показывал после загрузки «Powersave» режим, то было понятно, что система всё же в конце-концов входит в этот режим каким-то самостоятельным образом.

В общем, запасаемся попкорном… В Ubuntu, и, соответственно, в Mint есть несколько подсистем, которые отвечают за Power Profile Management. К вашей радости я не могу вспомнить все те бесконечно нудные попытки выяснить что и в какой последовательности включается, поэтому просто перечислю их списком, как есть, без пояснений:

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

Есть такая замечательная GUI-ёвая утилита: BUM — Boot-Up Manager

Она позволяет просматривать список некоторых сервисов, а так же включать и выключать их, причём не нужно даже помнить, что вы что-то выключили, оно по прежнему будет оставаться в списке, просто рядом не будет стоять галочка:

Да, все они, все вместе управляли тем, какой же профиль выставить для моего бедного CPU. Причём делали они это абсолютно несогласовано. В то время как thermald пытался всё же сделать «powersave», cpufreqd на пару с ondemand сервисом пытались сделать «perfomance».

Просто потому, что если GOVERNOR стоит Не из доступных по scaling_available_governors, то будет взят Perfomance.

Сначала я пытался разобраться с настройками thermald. Просто потому, что в Windows среди установленных драйверов устройств видел нечто похожее. Но, конечно, это ни к чему не привело, там жуткая XML’ка, толковое описание которой не даёт никаких существенных подвижек и никак не проясняет ситуацию на предмет того, как же его настраивать то:

Как я и ожидал система осталась в режиме Perfomance сразу после перезагрузки, то есть и в «CPU Frequency Scaling Monitor» показался Perfomance профиль. После чего я выключил и оставшиеся ondemand, cpufreqd и cpufrequtils:

И ничего, тоже ничего страшного не произошло, компьютер не взорвался, не сгорел. Как работал так и продолжил работать. Загружался через раз, но работал. «CPU Frequency Scaling Monitor» вполне позволял выставить power profile после загрузки. Теперь процессором вроде бы совсем уже ничего не управляло, но всё же он был вполне в кондиции работать дальше без проблем. Оставалось решить, что же делать с загрузкой системы.

Конечно же, как и все «нубы» я решил воспользоваться методом научного тыка. Для начала я выяснил, что есть P-State, и именно он отвечает за то, что мне нужно. К тому же я прочёл где-то, что этот самый P-State необходимо включить в параметрах ядра, то есть добавить в коммандную строку Grub для загрузки, примерно так советовали сделать:

Это не решило пролему, но, зато теперь тут было написано то, что нужно:

Кстати, для того, чтобы intel_pstate нормально работал, необходимо установить intel-microcode, делается это приблизительно так (можно и через apt-get, конечно):

В итоге я, конечно, отправился сюда: Linux Kernel Parameters: kernel.org. Последовательно вчитываясь и перебирая комбинации я пришёл к следующим выводам:

  • intel_pstate=hwp_only Only load intel_pstate on systems which support hardware P state control (HWP) if available. То есть загрузить P-State драйвер только, если это возможно.
  • epb=15 нашёл где-то ещё, вполне возможно, что оно выключено уже. Отвечает опять же за Power Profile на этапе загрузки. Значение 0 включает Perfomance, 15 включает Powersave, не работает, т.к. вывод dmesg у меня не изменился.
  • idle=nomwait Disable mwait for CPU C-states.
  • cpu_init_udelay=5000000 Delay for N microsec between assert and de-assert of APIC INIT to start processors. Задержка перед тем, как APIC инициализирует проц.
  • pause_on_oops=5 — мне всё таки хотелось успевать прочесть каждый вывод ошибки, потому, что, когда я отключил quiet splash я стал видеть что происходит.
  • noapic [SMP,APIC] Tells the kernel to not make use of any IOAPICs that may be present in the system. САМЫЙ ВАЖНЫЙ ПАРАМЕТР. Именно он выключил все мои ошибки SMP.
Читайте также:  Scan to pdf linux

Итак, после того, как я выключилAPIC загрузка сразу пошла в штатном стабильном режиме. Никаких «вылетов» больше не было, ноутбук стал работать быстро и стабильно всегда, даже после чудовищного прогрева градусов до 98 при помощи CPUBurn.

Но, как вы догадались, на этом эпопея не закончилась, т.к. он всё равно грелся. Хоть и загружался теперь стабильно, но греться продолжал.

И тут я наткнулся на TLP — Linux Advanced Power Management… который решил все проблемы: linrunner.de: TLP. Можно нагуглить и найти ещё другие источники, например этот, но мне дока с linrunner.de показалась наиболее исчерпывающей.

На большом фото видно, что SSD расположен совсем рядом с WiFi. Поэтому контроллировать температуру в той «зоне» я буду при помощи HDDTemp. Ранее всё это у меня уже стояло, но для тех, кто никогда не планировал это мониторить показываю.

Для того, чтобы MATE Sensors Applet показывал температуру диска необходимо включить его HTTP-демон, для этого:

В мануале TLP сказано, что нужно отключить cpufreqd и ondemand, мы это проделали ранее, Теперь, собственно, ставим TLP, по мануалу:

Теперь можно просто включить TLP, и, в общем — всё, наслаждаемся.

Для себя я, правда, чуть подтюнил параметры, они все подписаны, прям в конфиге:

Так же я поигрался с laptop-mode, который TLP использует, это тоже не обязательно:

Казалось бы, всё, чего ещё то? Но, увы, это не всё…

Заметили строчку x86_energy_perf_policy. ? TLP ещё не работает. Потому, что нет этой утилиты. Ставим:

После установки можно, дополнительно, сделать так, чтобы сразу выставить профиль:

Можно перезагрузиться, можно просто рестартовать TLP, после чего будет примерно так:

К сожалению установку linux-tools придётся делать каждый раз после обновления ядра, но это не сложно запомнить, что после того, как прилетит свежее ядро, нужно доставить ещё и эти сопутствующие стабильности работы компоненты.

Если же вы интересуетесь, что теперь делать со строками про Undervolting PHC kernel, как снизить вольтаж процессора — я не знаю. Может быть в комментариях кто-нибудь напишет. Насколько я понял, проект PHC-kernel более не поддерживается: linux-PHC. Хотя, кое какие издевательства по прежнему можно найти на сайте Arch Wiki: PHC — ArchWiki. В общем, PHC и TLP — близнецы конкуренты, и из TLP можно управлять вольтажом для PHC ядер, поэтому выводится эта строчка. Как пропатчить ядро для поддержки PHC я так и не смог понять.

Всё, после этого я получил стабильные 52-55 ℃ в обычном режиме, очень редко температура подскакивает до 60-62 ℃. Если смотрю YouTube, то может подрасти до 70 ℃, что, конечно, продолжает сказываться на WiFi, но это не критично, достаточно перестать смотреть видосики и вернуться к работе, и он сам остывает до нормальных температур. И, да, он загружается.

Конечно же, на этом издевательства над компьютером не закончились. Внеочередное пленарное заседание в «Палате №6» (есть у нас такой чатик в скайпе), постановило, что:

  • Только массовые расстрелы спасут Родину.
  • Только… рублей спасут отца русской демократии.
  • Только Хирургическое Вмешательсто в Днище спасёт WiFi этого ноутбука…

И инженеры Lenovo — всё же ошиблись, необходимо «доработать напильником».

В самом деле, ведь днище стоит каких-то жалких 10-30$ на ebay: Part 5CB0H151751.
С гарантии он уже слетел, как минимум после установки Linux, а ещё я уже поменял термопасту, что, в принципе, вполне доказуемо, если попытаться копнуть поглубже.

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

Дрожащими руками Сергеич™ пропилил дремелем днище:

Режем сеточку от автомобильного динамика:

Сломали «болгарку» (потом ещё пяток):

Результат, до сгибов:

После нескольких сгибов:

Итого, да, мы загнули стеночки внутрь буквой S:

Конечно, это ещё раз помогло. WiFi теперь не перегревается больше, совсем. Зона SSD стабильно показывает не выше 45 ℃, даже если очень долго греть его через CPUBurn. Единственный вариант снова вернуть «нагрев» — накрыть одеялом, но это и так понятно.

  1. Инженерия некоторых безвентиляторных ноутбуков «ниже плинтуса». Только если конструктивные решения в виде алюминиевого «днища» присутствуют, можно начинать решать софтовые пролемы. Без конструктивных решений для пластикового дна толк от них будет не очень хороший.
  2. Решить soft-orientied проблемы перегрева в Linux можно, прям здесь, прям сейчас, всё уже есть, но только НЕ «из коробки».
  3. Почти все проблемы со стабильностью загрузки решились выключением APIC, то есть прописыванием noapic в параметры ядра в Grub.
  4. Стандартное решение по Power Management, состоящее из ondemand, thermald и cpufreqd + cpufrequtils не годится, его проще снести чем быстро и нормально настроить.
  5. TLP — фееричная «годнота» с простым и понятным конфигом, но придётся немного повозиться с настройками зависимостей, потому, что Graceful Degradation.

Дополнение из комментариев menstenebris:

И далее его поставить как сервис в systemctl, перед этим желательно сделать калибровку через powertop -c.

Надеюсь, что несмотря на «многабукаф» Вам было интересно, и я потратил последние две ночи не зря. Общение в комментариях в целом, конечно, приветстсвуется, но не могу обещать ничего толкового. И, да, grammar nazzi убедительная просьба писать сразу «в личку».

Источник

Оцените статью