Леннарт Поттеринг (Lennart Poettering) представил полезное руководство
по оптимизации настроек системного менеджера systemd, позволяющее
сократить на стандартном ноутбуке с SSD-накопителем время загрузки
дистрибутива до менее чем двух секунд,
включая запуск до полной готовности к работе оболочки Xfce. В
руководстве также даётся несколько не связанных с systemd рекомендаций и
общих идей по сокращению времени загрузки, которые в будущем могут быть
реализованы в systemd. Сообщается, что в настоящее время высокая
производительность systemd достигается прежде всего архитектурой системного менеджера,
но сам по себе systemd пока оптимизирован достаточно поверхностно, что
открывает большое поле для деятельности по его оптимизиации.
Большинство рекомендаций в руководстве сводится к отказу от
использования тяжёлых сервисов, надстроек и компонентов, таких как LVM,
SELinux (selinux=0), системный аудит, программный RAID, шифрование
разделов, syslog (предлагается использовать journal), Plymouth
(plymouth.enable=0). Также предлагается отключить некоторые лишние
загрузочные скрипты, такие как fedora-autoswap.service,
fedora-configure.service fedora-loadmodules.service,
fedora-readonly.service и все пакеты связанные с LVM/RAID/FCOE/iSCSI.
Среди других рекомендаций:
- Отключить вывод диагностики на консоль и отключить ведение отладочных логов systemd;
- Использовать вместо cron функциональность таймеров в systemd;
- Вкомпилировать необходимые драйверы в ядро, без их
загрузки в виде модулей (хотя бы то что используется повсеместно,
например, USB, ACHI и HDA);
- Отказаться от initrd и использовать имена устройств вместо UUID ("root=sda5");
- Отключение LVM и лишних сервисов хранения (если они
не используются): "systemctl mask fedora-wait-storage.service
fedora-storage-init-late.service fedora-storage-init.service";
- Использовать опцию libahci.ignore_sss=1;
- Использовать современное десктоп-окружение, не обращающееся к ConsoleKit (например: GNOME 3.4).
- Отключение локального сервиса доставки почты;
- Отключение опциональных компонентов systemd,
например, можно отключить поддержку виртуальных консолей, если
пользователь использует только графическое окружение;
- Анализ запускаемых сервисов через "systemctl" и удаление всего лишнего;
- Неиспользование ядра Linux, собранного с отладочными опциями.
Источник
|