Про EOS и аппетиты его десктопов

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

Для чего надлежит придерживаться следующих условий:

  1. идентичность аппаратной конфигурации, на которой запускаются дистрибутивы Linux’а с их десктопами;
  2. максимально широкий охват десктопов для сравнения;
  3. идентичность «под-десктопного базиса» дистрибутивов, от ядра ОС до Иксов и их надстроек;
  4. полное соответствие десктопов официальному апстриму каждого из них.

Первое условие представляется очевидным. И легче всего реализуется путём запуска «подопытных кроликов» в виртуальных машинах с идентичными параметрами.

Условие второе также в комментариях не нуждается — желательно сравнение если и не всех десктопов, то по крайней мере всех распространённых их представителей. Которых на самом деле не так много: если исключить реанимированный клон KDE 3.X, TDE, и не так давно гальванизированный (путём открытия исходников) CDE, в списке остаётся всего восемь позиций.

Третье условие фактически ограничивает выбор участников сравнения теми дистрибутивами, которые имеют несколько редакций, различающихся только десктопами (и их штатными приложениями). Ибо только в этом случае можно быть уверенным, что сравнивается ресурсопотребление действительно десктопов, а не чего-нибудь более иного.

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

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

Конечно, и у разработчиков каждого десктопа тоже есть свои представления о его комплектации и настройках. Однако, если уж нельзя ввести для них все один закон по этому поводу (а его нельзя ввести по понятным причинам), то, как сказал патер Браун

…пусть уж будет одно для всех беззаконие
©Честертон, «Небесная стрела»

За последний без малого год я, в рамках проекта «Linux для пращуров и внуков» просмотрел много дистрибутивов. И оказалось, что среди них не так много таких, которые удовлетворяли бы всем сформулированным выше условиям.

Так, недавно (18 августа 2022) сравнение, подобное представленному здесь, проводилось для официальных дистрибутивов семейства Ubuntu. И, по крайней мере те из них, с которыми я имел дело (Kubuntu и Xubuntu), явно не удовлетворяют четвёртому условию: десктопы в них (KDE и Xfce, соответственно) достаточно далеки от апстрима. Да и по части третьего условия, то есть идентичности «под-десктопного базиса» всех ремиксов Ubuntu у меня есть сомнения.

В итоге я остановился на EndeavourOS (или, сокращённо, EOS), о котором немало говорилось на этих страницах. Который имеет ещё два достоинства. Первое — почти максимальный охват поддерживаемых десктопов: Budgie, Cinnamon, GNOME, LXDE, LXQt, MATE, Plasma, Xfce. Правда, NuTyx умудрился превзойти его, поскольку поддерживает ещё и CDE. Но последнему вряд ли грозит популярность среди широких народных масс…

Второе — всё многообразие редакций EOS устанавливается с одного и того же образа: выбор десктопа происходит на стадии установки. Что не только удобно, но и позволяет быть уверенным в идентичности базовых компонентов всех вариантов этого дистрибутива.

Для сопоставления десктопов EOS было создано восемь виртуальных машин с такими ТТД: двухпоточный процессор, память 4 ГБ, диск 128 ГБ. Режим UEFI был включён для всех машин.

Установка всех редакций EOS проводилась с согласием на все предлагаемые по умолчанию варианты. Разметка виртуального носителя проводилась в автоматическом режиме с расчётом на использование гибернации, то есть создавались EFI-раздел (300 МБ), раздел подкачки (8,4 ГБ), остальное место отводилось под корень файловой системы.

После установки и последующего рестарта машины через штатное Приветствие EOS выполнялся комплекс неотложных постинсталляционных действий, как то: выбор и обновление зеркал официального репозитория Arch’а и «фирменного» репозитория EOS, тотальное обновление системы, настройка режима очистки локального кеша пакетов (как подробно описано здесь).

Во всех этих случаях я следовал умолчаниям системы. Лишь при выборе зеркал к предлагаемым российским зеркалам я добавил и шведские, как самые быстрые в моих условиях. Ну и чуть подкрутил внешний вид всех дестопов по части шрифтом, точнее, их кеглей. Иначе был очень большой риск не увидеть просто ничего.

После этого я перезагрузил машину и сразу, не выполняя никаких действий, в окне штатного терминала каждого десктопа запускал neofetch — CLI-утилиту для получения информации о системе. В контексте сюжета нынешней Истории самыми ваэными являются сведения о потреблении памяти, а также их привязка к дистрибуиву, десктопу и его версии. Имеет значение также имя оконного менеджера (WM).

Количество пакетов также существенно, поскольку коррелирует с объёмом занимаемого каждой системой дискового пространства. Правда, корреляция эта косвенная — прямые сведения о потреблении оного получались следующей командой, df в форме

$ df -h | grep dev/sda

Все эти сведения приведены на приведённых ниже скриншотах, которые в комментариях практически не нуждаются. Следует только сказать, что для получения цифр потребления RAM, похожих на приведённые, утилита neofetch должна быть запущена первой, сразу после перезапуска системы. В противном случае потребление памяти для всех десктопов (и, замечу, во всех дистрибутивах, какие я видел), будет выше. Скриншоты для систем с разными десктопами даны в алфавитном прядке имён последних.

DE Budgie

Скриншот 1. Данные для EOS с десктопом Budgie

DE Cinnamon

Скриншот 3. Данные для EOS с десктопом GNOME

DE GNOME

Скриншот 3. Данные для EOS с десктопом GNOME

DE LXDE

Скриншот 4. Данные для EOS с десктопом LXDE

DE LXQt

Скриншот 5. Данные для EOS с десктопом LXQt

DE MATE

Скриншот 6. Данные для EOS с десктопом MATE

DE Plasma

Скриншот 7. Данные для EOS с десктопом Plasma

DE Xfce

Скриншот 8. Данные для EOS с десктопом Xfce

Для пущей наглядности данные по ресурсопотреблению десктопов сведены в таблице.

Сравнительная таблица ресурсопотребления

Десктоп WM RAM, MB Диск, GB Пакеты, шт.
Budgie Mutter (B) 952 5,3 852
Cinnamon Mutter (C) 799 5,2 817
GNOME Mutter 798 5,3 819
LXDE Openbox 562 4,7 774
LXQt Openbox 513 5,1 827
MATE Marco 676 5,8 814
Plasma KWin 671 6,0 920
Xfce Xfwm4 597 4,6 852

В отличие от скриншотов, таблица комментариев потребует. Из неё хорошо видно, что все затронутые в этой Истории десктопы по претензиям к RAM отчётливо разбиваются на три группы. В первую входят GNOME и его производные — Budgie и Cinnamon. Их потребление памяти максимально. Причём если GNOME и Cinnamon в этом отношении остаются в рамках приличий, то Budgie за эти пределы вышел. А учитывая его достаточно убогий функционал, вышел далеко.

Характерно, что все три жадных до памяти десктопа используют вариации на тему одного и того же оконного менеджера — Mutter, что родом из «третьегнома». Правда, и в Budgie, и в Cinnamon исходный WM модифицирован, причём в Budgie, как утверждают его разработчики, весьма существенно. Видимо, эти модификации и требуют лишних полутора сотен мегабайт памяти.

На противоположном полюсе находятся два наших недо-деска, LXQt и LXDE, потребность в памяти которых составляет 510–560 МБ, а роль оконного менеджера исполняет внеклассовый внедесктопный Openbox. Именно он, вероятно, и влияет на низкий аппетит к памяти, хотя и позволяет применить к этим десктопам приставку «недо».

К этой же группе примыкает и Xfce, скромные потребности которого сложились исторически. Хотя собственный оконный менеджер, Xfce, позволяет рассматривать его как всамделишний интегрированный десктоп без всяких скидок.

Наконец, третья группа занимает по своим аппетитам промежуточное положение. Потребности её представителей, MATE и Plasma Desktop (в обиходе до сих пор просто KDE), существенно не дотягивают до 700 МВ. В чем, думается, немаловажную роль играют их оконные менеджеры, Marco и KWin. Первый наследует относительную, по нынешним временам, скромность своего предка, Metacity из «второгнома», второй же подвергался интенсивной оптимизации всё время существования KDE 5-й ветки.

Что же до расхода дискового пространства, то корреляцию его с потребностями в памяти если и можно углядеть, то только при некоторой фантазии. Вот с числом пакетов, штатно входящих в рассматриваемые десктопы, такая корреляция просматривается. Но, как говорись, весьма косвенная. Что не удивительно, если вспомнить особенности умолчального обращения всех клонов Arch’а с локальными кешами пакетов.

Автор: alv

Про себя напишу потом

Добавить комментарий