Секреты тюнинга Ubuntu 16.04 LTS Xenial Xerus

Недавно я поставил Ubuntu 16.04 и написал обзор, в котором был вынужден констатировать полную непригодность Xenial Xerus для реальной работы: дистрибутив тормозит и часто падает. Неделя ушла у меня на стабилизацию и разгон. Делюсь своими наработками с вами.

Ускорение Ubuntu

1. Выкидываем мусор

Пишем в терминале dpkg -l, проходимся по списку и выкидываем всё ненужное. Главный вопрос в том, что считать ненужным. Тут два критерия:

1. Вы этим пользуетесь? Нет? Выпиливаем. Например, CUPS на ноутбуке, с которого вы не печатаете. Или поддержка Bluetooth, если её на вашем компьютере либо нет, либо вы не пользуетесь Bluetooth вообще. Не жалейте ничего. Всегда можно будет установить пакеты, если они вдруг потребуются.

2. Вредит приватности? На помойку! Примеры: zeitgeist (жрет ресурсы, следит за активностью пользователя, реальной пользы ноль). Или apport (шаттлвортовская поделка, отправляющая подозрительно большой объем информации о системе при каждом падении любой из программ). Линзы туда же.

Тюнинг Ubuntu 16.04

Удаляете с помощью apt-get remove. В конце делаете autoremove. Потом берете history, закатываете в .sh-файл и заливаете на GitHub. Это чтобы каждый раз руками не чистить.

2. Расправа над сервисами

Пишем в терминале:

systemctl -a -t service | grep " active"

Чего тут только нет... Отключаем ненужное с помощью systemctl disable. Что ненужное? Тут сложнее и каждый решает за себя сам. Я, например, со спокойной душой выпиливаю, помимо прочего, AppArmor, хотя среди хомячков немало «спецов» по информзащите, которые будут с пеной у рта доказывать, что без AppArmor ну ни как. Я же считаю, что он нужен только тогда, когда: 1) пользователь разбирается в его настройке, а не полагается на готовые профили; 2) используется для ограничения программ, к которым имеется доступ из сети (т.е. на сервере), а на десктопе лучше вообще обрубить все входящие соединения и выпилить AppArmor. Но дело вкуса.

Почему службу AppArmor нужно останавливать вместо того, чтобы еще на первом шаге удалить пакет? Так Шаттлворт умудрился сделать AppArmor зависимостью к MySQL, MySQL нужен многим сам по себе, к тому же он в зависимостях у некоторых прикладных программ.

Не забудьте сохранить этот список, чтобы не сидеть в размышлениях при следующем апдейте. Делаете tail ~/.bash_history и закатываете на GitHub.

3. Ускорение Ubuntu

Предыдущие шаги были сделаны для стабилизации Ubuntu, для того, чтобы убрать из ОЗУ хотя бы часть падучих программ. Следующий шаг — ускорение. Запускаем top и смотрим, какие процессы не дают Убунте взлететь.

Самое слабое место Ubuntu 16.04 — Compiz. Он сильно тормозит даже при простое. А иногда и вовсе пытается прилечь.

Tuning Xenial Xerus

Я решил его пересобрать, выкинув ненужное и задав ключи оптимизации для GCC. Пересобрать — проще простого. Грамотно пересобрать, запилить deb-пакет и произвести замену — целое искусство. Вам понадобится установить средства разработки и apt-src для загрузки пакетов с исходным кодом и сборки. Учтите, что при сборке пакет потянет за собой большое количество зависимостей, поэтому заниматься этим стоит либо на запасном компе, либо в виртуальной машине, либо оградиться хотя бы с помощью chroot. Но это уже тема для отдельной статьи.

Ищем через top самые неторопливые программы и пробуем пересобрать пакеты с ними. Не всегда прокатывает высший уровень оптимизации gcc -O3, но для некоторых пакетов его можно использовать и получить существенный прирост производительности.

Я заодно пересобрал еще и Ruby, получив заметный прирост для уже написанных на нем программ. Мой прогноз: самопальные deb-пакеты — главный тренд 2016 года, а apt-src станет лучшим другом специалиста по тюнингу операционных систем. Если Шаттлворт берет Debian, запускает apt-src build и получает Убуку, которой пользуются миллионы, то чем ты, дорогой читатель, хуже?

apt-src — мощный инструмент, который позволяет загружать, компилировать и устанавливать программы из исходного кода. Зачем это нужно? Для того, чтобы получить возможность провести оптимизацию программы под архитектуру конкретно вашей машины. Кроме этого, пользователь apt-get может включить или отключить заданную функциональность у программы и высвободить вычислительные ресурсы.

Резюме

  1. Удаляем ненужные пакеты.
  2. Отключаем ненужные сервисы.
  3. Поторапливаем тормозов.

В итоге оттюнингованная Ubuntu 16.04 LTS Xenial Xerus работает как часы. За неделю тестирования ни единого разрыва. Сравните это с установкой по умолчанию:

Стабильность Ubuntu 16.04

Скорость возросла, хотя и обогнать Gentoo или Arch вряд ли получится.

Результатом я доволен и принял решение пока оставаться на Ubuntu.

Комментарии

В итоге оттюнингованная Ubuntu 16.04 LTS Xenial Xerus работает как часы.

Ubuntu Premium Vasyan&Kolyan Edition?

Нет, так Ubuntu 16.04 и осталась. Никто не запрещает модифицировать некоторые пакеты. Более того, это поощряется и в штатном репозитории есть инструменты для этого. Другое дело, что некоторые ссут что-то менять. А некоторые не могут в силу интеллектуальных ограничений. Тогда остается только на форумах всякую муть типа "Premium Vasyan" писать.

А теперь берем Debian и делаем то же самое, в итоге система у вас не просто летает, а летает на гиперзвуке. Смысл теперь оставаться на Ubuntu? Возвращайтесь к корням и это будет самым вашим правильным решением.

Возвращайтесь к корням

Я не могу вернуться просто по той причине, что никуда не уходил. Серьезные машины как были на Debian 8 лет так на нем и остаются. Я о серверах, где Debian идеален и почти не имеет альтернатив (кроме CentOS, но для меня это не вариант).

Debian na Acer Aspire D270 временами виснет намертво. Настройки и переустановки не помогают. Проблемы с видео на Intla GMA3600.

добавлю еще что деактивация сервиса в systemd не означает что сервис не может быть запущен каким-нибудь другим сервисом через одноименный .socket. Или даже просто стартанет если стоит у него в зависимости. Кое что я уже описывал в блоге, но об очень многом умолчал. Поэтому сервисы надо маскировать (mask).

В линухе есть возможность на лету изменять параметры ядра через файл /etc/sysctl.conf (или как обычно добавить файл конфигурации в /etc/sysctl.d, но тогда нужна перезагрузка, sysctl -p не сработает). Тут настройки касающиеся в основном памяти и сети, можно дополнительно снизить нагрузку на sdd. У меня их около 40 набралось, в арчвики можно подглядеть как примерно это выглядит

не забываем fstab — опции монтирования тоже важны. У меня для ext4 добавленны

noatime,barrier=0,commit=600

поменять шедулер на более подходящий. К сожалению bfq не всем доступен. Для ssd рекомендован NOOP например

dnsmasq о котором автор уже рассказывал у меня тоже на первом месте + добавить оптимальный MTU, Но это уже мелочи

одно время я пользовался быстрым альтернативным композитным менеджером compton, деактивировал полностью compositing и кинул в автозагрузку compton -CGb. Для слабых машин может быть полезно. Однако заметил траблы в играх типа assaultcube и слез с него

upd: блин конечно tmpfs как же без него. Что то типа
tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0
tmpfs /var/tmp tmpfs defaults,noatime,mode=1777 0 0
tmpfs /var/log tmpfs defaults,noatime,mode=1777 0 0

интересно а есть в федоре альтернатива apt-src? Я бы например фокс пересобрал. Имеет смысл на все 100%.

А как же? :) rpmbuild запиливает RPM-пакет на основе SPEC-файла.

Нет бы шоб выложить готовый дистрибутив.

Зачем? А вдруг я туда хохмы ради rm -rf / запилил? Пользоваться нужно только надежными и проверенными решениями. Скачивать только с официальных сайтов и MD5 проверять в придачу.

Вы меня знаете? Тогда почему думаете, что я не способен руткит в дистрибутив вставить?

Самое простое и радикальное решение — установить полноценную Семёрку максимальную. С гарантированной вечной активацией и со всеми обновлениями. И с блокировкой обновления до Десятки. ВСЁ ЭТО сегодня ЕСТЬ!.

Да седьмая убунта уже ни на что не годится.

Перевожу на русский:

Самое простое и радикальное решение — пойти подставить зад Microsoft. В обмен на это получить яркие бусы. В подарок — анальная смазка. ВСЁ ЭТО сегодня ЕСТЬ!

Спасибо, уважаемый, но свободу я не меняю. Я лучше буду жить в спартанских условиях в Linux и буду хоть каждый день решать проблемы, нежели пойду и поставлю то говно, о котором уже сто раз написали, что оно прёт с компа всё, что можно. Я не доверяю Microsoft и мне не нравятся операционные системы, падающие от первого встречного вируса, а то и без повода вовсе.

Разговоры о свободе это в основном демагогия. Вы сможете сформулировать, в чем выражается посягательство на свободу? Вам нравится возиться с дистрибутивами, совершенствовать их. Мне нужна полноценная комфортная система. Почти год как я обновился до Десятки. НИ ОДНОГО ГЛЮКА! Ради интереса поработал на дистрибутиве Линукса (название здесь запрещено называть) около двух месяцев. (Возможно, перейду на него, когда выйдет релиз Р8(нужна латинская буква)). Почему вернулся на Десятку? Потому что в этой ОС я чувствую себя свободным. Не верю я вашему свободолюбию. Повторяете пропагандистские штампы.

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

Если это демагогия, то зачем же я буду продолжать пытаться что-то фомулировать? Я лучше вспомню древний мудрый совет не метать бисер перед свиньями. Нравится 10-ка? Ради бога! Разговоры о свободе — демагогия? Ну так обменяйте ее на комфорт. У меня нет цели отговоривать хомячков от идеи прыжка в пропасть.

Потому что в этой ОС я чувствую себя свободным.

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

Это Вы не пользуетесь Инетом ;) Потому, как падает она бысто-быстро. Ну или докупаем антивирус, им тормозим свой ПК, и спокойно работаем ;)

Гораздо проще выбрать другой дистрибутив. Особенно для новичка.

Ну так выбери, раз тебе проще

раз тебе проще

Почему вдруг ко мне на ты, а к другим на Вы, даже пишущим про Вас откровенную гадость? Что за дискриминация? Могу быть в чем то с Вами не согласен, но уважаю Вас как администратора и никогда Вам не тыкаю.

Тогда пардоньте. По стилистике предположил, что школьник пишет.

Все нормально, проехали, забыли.

Скачать сырой дистрибутив, прокомментировать его изъяны...Затем провести уборку нечистот. И всё это вынести на публику! Достижение епт! Понятно, когда сделан годный дистрибутив — людям радость и польза! А так...Извращение суетливого бездельника. Злого и тщеславного.

Вам бы голову подлечить, а не на форумах в разговоры умных людей встревать.

Человек поделился полезными советами. Спасибо, что хоть кто-то пишет на эти темы! Где ты тут, чмо, усмотрел извращение? У кого что болит, тот о том и говорит?

надо указать что за железо иначе это гадание на кофейной гуще
у меня на asrock H-55 IC i3 3.08 mac 10.11 пулей летает и без сбоев, Xubuntu 14 LTS без проблем и ошибок быстро, мастдай 10/64 тоже без проблем, но тормозит сильно по сравнению с маком особенно загрузка и выгрузка
PS
какой мучитель придумал капчу с 10 раза прошла

это гадание на кофейной гуще

Статья об удалении программ, отключении сервисов и пересборке пакетов. Гадание тут каким боком?

Неплохо! Кстати, а что Вы думаете о Linux Mint? Сам сижу на нём. Скоро выходит новая версия.

Думаю, что Mint перестал существовать в тот самый момент, когда Лефеврушечка продемонстрировал общественности какой он ламер. Пользоваться дистрибутивом от ламера — себя не уважать.

А раньше был ничего дистрибутив. Ставил домохозяйкам и они говорили "спасибо". Больше Убунты им нравился.

Каким образом продемонстрировал?
Жопс думаешь не был ламером? -__-

Ламер? а по продуктам его компании, так не скажешь:) Маркетологом он был уж очень успешным, пипл до сих пор в очередях стоит на двух континентах, за новыми версиями!:)

Однако, если у ламера получается более юзабельный дистрибутив, чем у Canonical, то какие "спецы" сидят там? ;-)

Тоже неважнецкие, никто не спорит. Но факапов с безопасностью у Canonical не было. Когда Убунта сливала поисковые запросы, то я ей и не пользовался. Сейчас слив по умолчанию отключили. Шатлворт как бы просит прощение и одновременно предлагает дать ему второй шанс. Почему нет? ;)

Чтобы вновь начать пользоваться убунтой, нужно было подождать пока за Вас Шатлворт голочку слива по-умолчанию в положение "выкл" поставит? Я, конечно, тоже ленивый, но что б настолько..

Нужно было подождать пока разработчик изменит свое отношение к приватности пользователей. Что не понятно?

Статья достаточно интересная. БОльшая часть, касающаяся отключения ненужного, относится и ко всем остальным дистрибутивам. Но для пересборки пакетов под себя лучше использовать специально предназначенные дистрибутивы, имеющие возможности по тонкой настройке. Это Gentoo, Arch, Slackware и т.п. В Gentoo вообще можно при сборке включить оптимизацию под свой процессори т.п. Если занимаемся пересборкой пакетов в бинарном дистрибутиве, то при этом теряются все его преимущества.

Тема рабочего стола разбираемой Убунты заимствована у яблочников. В "Картинках" Яндекса следует набрать Обои для МакОс — и среди них можно найти ЕЁ. Хороший экземпляр. Установил у себя.

раз уж на то пошло нашел там тоже красивую обоину с луной :) Плюс интересный набор иконок Paper
moon
:)

>> выпилить композит
не проще поставить лубунту? дебиан конешно хорошо, но он например не умеет искаропки с ppa устанавливать, и много других полезных мелочей

Фигово.

Например, CUPS на ноутбуке, с которого вы не печатаете.

Угу. И в итоге когда в поле/лесу/чужом офисе к твоему ноуту подключат *произвольный принтер* чтобы попечатать тебе будет показан ***. Я уж не говорю о том, что большое количество "конвертаций в PDF" завязано на виртуальный PDF-принтер от CUPS-а. Так что совет-то спорный.

Я, например, со спокойной душой выпиливаю, помимо прочего, AppArmor

Упс =) =) Вообще говоря, "незнание зачем нужна технология — это твои проблемы, а не проблемы технологии". И да, отключать AppArmor именно на ПОЛЬЗОВАТЕЛЬСКИХ компьютерах — безусловно плохая идея.

Грамотно пересобрать, запилить deb-пакет и произвести замену — целое искусство. Вам понадобится установить средства разработки и apt-src для загрузки пакетов с исходным кодом и сборки.

apt-build сделает это за тебя. Или вопрос был в том, чтобы продемонстрировать "целое искусство" а не в достижении результата?

Скорость возросла, хотя и обогнать Gentoo или Arch вряд ли получится.

Получится. Только для этого вместо всего, что советуют в этой статье достаточно сделать три вещи:

1) apt-build world
2) Заменить unity на что-то более приличное (IceWM например)
3) Заменить LightDM на что-то более приличное.

И всё.

Вообще с таким подходом предлагаю perl удалять. Не нужен же =) =)

А есть программа, которая предоставляет возможность не "рыться" с терминалом и командами, а прямо в графическом интерфейсе, как в windows? Подойдёт Synaptic?

Увы, уровень знаний не позволяет пересобрать пакеты с самыми неторопливыми программами(

Это проще, чем кажется. Deb-пакеты с исходниками уже содержат все необходимые инструкции по сборке.

Спасибо, гляну матчасть.

Над бы вместо systemctl...
sudo apt-get install sysv-rc-conf
sudo sysv-rc-conf

Утилита эта консольная, но очень проста и интуитивно понятна, поэтому использовать ее могут даже люди с паническим страхом терминала.

Комментировать

Filtered HTML

  • Доступны HTML теги: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <blockquote> <strike> <code> <h2> <h3> <h4> <h5> <del> <img>
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и параграфы переносятся автоматически.

Plain text

  • No HTML tags allowed.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и параграфы переносятся автоматически.