Оптимизация линукс — всё просто!
В последнее время время мой Linux Mint стал заметно тормозить. Это сильно раздражает, так как работаю я часто очень быстро, на автомате, и любые тормоза просто сбивают ритм. Но почему линукс может тормозить? Как ускорить linux? Как сделать оптимизацию линукс?
Тут есть несколько моментов, на которые я хочу обратить внимание. Каждый из них в какой то степени влияет на скорость линукс, пусть и незначительно. Но если оптимизировать все вместе, это может дать прирост в производительности. И поверьте, это не сложно, чаще всего даже не нужно лезть в консоль… Я все буду показывать на Linux Mint, но все это по аналогии можно делать и на других системах линукс.
1. Оптимизация автозагрузки Linux.
Первое, на что нужно обратить внимание — это на то, что у нас загружается при запуске системы. Идем в МЕНЮ — ПАРАМЕТРЫ — ЗАПУСКАЕМЫЕ ПРИЛОЖЕНИЯ.
Тут можно отключить все ненужное, в моем случае это почти все. Таким образом вы избавляетесь от ненужных процессов и программ, которые загружаются при запуске линукс. Такая оптимизация линукс поможет вам так же ускорить загрузку системы. Сделали? Идем дальше.
2. Отключение серверов
Знаете ли вы, что по умолчанию в вашем линукс могут быть установлены многие серверы: сервер печати, сервер samba, сервер apache, сервер ssh и так далее. Возможно, что они вам не нужны сто лет, то все эти процессы постоянно висят в памяти. Можно их просто отключить, но чаще всего ненужные сервера проще удалить. Как их найти?
Открываем Synaptic и в поиске забиваем слово server:
Смотрим, вчитываемся, что установлено и что нам реально не нужно — удаляем. Но не стоит удалять все подряд, если только знаете что это и зачем это. Я уже удалил многое ненужное, но скорее всего есть ещё много всякого мусора. Можно так же забить слово demon и посмотреть, какие службы установлены, но нам не нужны. Удалили? Идем далее…
3. Отключение ненужных служб
Раньше в Убунту в графической среде можно было отключать и включать службы, но потом ребята из Убунту решили, что нам, лузерам, это не нужно — вдруг отключат что то важное, а потом будут говорить, что Ubuntu глючная!
Но может они и правы, но для нас это не проблема, так как линукс — это консоль, терминал, а уже потом графическая оболочка. Устанавливаем нужный пакет:
Ускорьте загрузку Linux, отключив ненужные службы
Все больше и больше операционных систем раздуваются множеством служб, работающих в фоновом режиме. Хотя он может не использовать много процессорного времени, он увеличивает время загрузки и использование ОЗУ.
Некоторые дистрибутивы Linux включают «все, кроме кухонной раковины», чтобы облегчить жизнь пользователя. Благодаря этому такие вещи, как совместное использование файлов или печать, работают прямо из коробки. К сожалению, единственный способ сделать это — включить сотни утилит, чтобы каждый нашел то, что ему нужно.
К счастью, операционные системы с открытым исходным кодом дают вам возможность и свободу делать то, что вы считаете нужным. Это означает, что вы можете отключить все, что вам не нужно, или просто удалить это. Здесь будет рассмотрен первый вариант, как отключить службы. Когда вы отключаете компоненты вместо их удаления, риски поломки компонентов постоянно снижаются. И вы можете вернуться к тому, как это было раньше, просто повторно включив службу, если вы заметили что-то полезное, что перестало работать.
Анализируйте время, необходимое для загрузки каждой службы
Большинство операционных систем на базе Linux перешли на Systemd. Среди набора утилит, которые они включают, есть программа, позволяющая анализировать скорость работы системы. В частности, он показывает общее время, необходимое для загрузки, и время, необходимое для загрузки каждой службы. Обратите внимание, что некоторые службы загружаются параллельно. Следовательно, если для загрузки необходимы две секунды, а остальные три секунды, это не обязательно означает, что всего требуется пять секунд. Может быть, намного меньше.
Откройте эмулятор терминала и введите эту команду:
Это показывает, сколько времени требуется ядру Linux и службам платформы для загрузки, что означает, что не объясняет, сколько времени требуется графическому интерфейсу для загрузки. Чтобы объяснить это по-другому, здесь показано количество времени, необходимое с момента загрузки ядра до его сброса на консоль Linux, которая выглядит так, как показано ниже.
Если у вас не установлен графический интерфейс, он будет отображаться на экране.
Однако вы также можете увидеть необходимое время через графический интерфейс инициализации с помощью этой команды:
systemd-analyze critical-chain graphical.target
Это показывает, что графический интерфейс был загружен за 2.126 секунды. Это не учитывает время, необходимое для загрузки утилит рабочего стола. Чтобы включить / отключить их, запустите диспетчер запуска среды рабочего стола.
Наконец, возможно, наиболее полезными для целей этого руководства являются:
Вы можете перемещаться по меню, используя клавиши со стрелками или же СТРАНИЦА ВВЕРХ و ЛИСТАТЬ ВНИЗ. Нажмите q из.
Используйте systemctl для отключения Ненужные услуги
Как вы можете видеть на предыдущем изображении, для загрузки службы snapd требуется 1.295 секунды. На SSD это незначительно. Но на жестком диске такое время может составлять порядка нескольких секунд, и в конечном итоге они будут очень значительными. Кроме того, на SSD многие вещи загружаются параллельно с невероятной эффективностью. На HDD очень сложно загружать сервисы параллельно. Считывающие головки, плавающие на пластинах диска, должны перемещаться из одного сектора в другой, поэтому параллельное чтение данных невозможно.
Чтобы упростить это, представьте себе следующее: если на вашем твердотельном накопителе вы видите пять сервисов, для которых требуется один раз для запуска, общее время, необходимое для загрузки всех этих сервисов, вероятно, будет меньше 1.2 секунды. Если на жестком диске вы просматриваете те же пять сервисов за одну секунду, общее время загрузки, вероятно, превышает пять секунд.
Допустим, вам не нужна услуга snapd , который обеспечивает доступ к снимкам состояния приложений, сохраненным в контейнерах. Вы можете отключить его с помощью этой команды:
sudo systemctl disable snapd.service
Но, если вы перезапустите, вы заметите, что оснастки Демон все еще работает. Это потому, что другие зависимости могут включить его, даже если он отключен. Попробуйте посмотреть, что это может быть:
systemd-analyze blame | grep snap
snapd.seed.service و сокет Они здесь виноваты. Дочерняя служба может запускать собственную родительскую службу. Когда вы отключаете один из них, вы просто говорите ему, чтобы он не запускался автоматически сам по себе. Но есть мощный способ обойти эту проблему.
использовать systemctl Чтобы скрыть сервис
sudo systemctl mask snapd.service
Это в основном делает служебный файл нуль Чтобы приложения не нашли способ запустить службу.
В большинстве случаев отключить услугу несложно. Этот пример был выбран, чтобы показать вам, как справляться с более сложными сценариями. В этом случае его необходимо отключить. snapd.seed.service و сокет или также скрыть это.
Ниже показано улучшенное время загрузки.
Заключение
Начиная с 4.078, время выполнения было уменьшено до 3.452 секунды, что на ~ 15% меньше. Неплохо, учитывая только одну услугу, и это на SSD. На жестком диске легче получить более значимые результаты.
В этом конкретном примере больше сервисов можно отключить с помощью такой команды, как:
sudo systemctl mask avahi-daemon.service ModemManager.service thermd.service pppd-dns.service.
Если вы предпочитаете графическое приложение для управления вашими услугами, вы можете взглянуть на Системный менеджер проекта. Однако он будет ограничен в том, что вы можете с ним делать, поскольку командная строка предлагает большую гибкость.